diff --git a/src/interpreter.h b/src/interpreter.h index 736e39ca17c3aeba8feaa2635b74a3ed44a8b84b..c6da0e01fa03a0e56510e85592ba7a0cec3df93e 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -1307,7 +1307,7 @@ static int eval_instruction(unsigned char *pc) * for array, mapping and multiset, so we perform a more lenient * check for them. */ - if (!pike_types_le(sval_type, weak_type_type_string) || + if (!pike_types_le(sval_type, weak_type_string) || !match_types(sval_type, sp[-2].u.string)) { struct pike_string *t1; struct pike_string *t2;