diff --git a/src/builtins/fns.c b/src/builtins/fns.c index 293cce00..db917d34 100644 --- a/src/builtins/fns.c +++ b/src/builtins/fns.c @@ -242,6 +242,8 @@ B indexOf_c2(B t, B w, B x) { B enclosed_0; B enclosed_1; extern B rt_memberOf; +extern B eq_c2(B,B,B); +extern B or_c2(B,B,B); B memberOf_c2(B t, B w, B x) { if (isAtm(x) || RNK(x)!=1) goto bad; if (isAtm(w)) goto single; @@ -269,8 +271,15 @@ B memberOf_c2(B t, B w, B x) { many: { - usz xia = IA(x); - usz wia = IA(w); + u8 we = TI(w,elType); usz wia = IA(w); + u8 xe = TI(x,elType); usz xia = IA(x); + if (xia<=16 && wia>16 && we