@@ -311,7 +311,7 @@ abstract static class MulNode extends ForeignBinaryNode {
311
311
super (BinaryArithmetic .Mul .create (), false );
312
312
}
313
313
314
- @ Specialization (insertBefore = "doComparisonBool" , guards = {"lib.hasArrayElements(left)" , "lib.fitsInInt(right)" })
314
+ @ Specialization (insertBefore = "doComparisonBool" , guards = {"!lib.isNumber(left)" , " lib.hasArrayElements(left)" , "lib.fitsInInt(right)" })
315
315
static Object doForeignArray (Object left , Object right ,
316
316
@ Cached PRaiseNode raise ,
317
317
@ Cached PythonObjectFactory factory ,
@@ -341,7 +341,7 @@ static Object doForeignArray(Object left, Object right,
341
341
}
342
342
}
343
343
344
- @ Specialization (insertBefore = "doComparisonBool" , guards = {"lib.hasArrayElements(left)" , "lib.isBoolean(right)" })
344
+ @ Specialization (insertBefore = "doComparisonBool" , guards = {"!lib.isNumber(left)" , " lib.hasArrayElements(left)" , "lib.isBoolean(right)" })
345
345
static Object doForeignArrayForeignBoolean (Object left , Object right ,
346
346
@ Cached PRaiseNode raise ,
347
347
@ Cached PythonObjectFactory factory ,
@@ -355,7 +355,7 @@ static Object doForeignArrayForeignBoolean(Object left, Object right,
355
355
}
356
356
357
357
@ SuppressWarnings ("unused" )
358
- @ Specialization (insertBefore = "doGeneric" , guards = {"lib.hasArrayElements(left)" , "isNegativeNumber(lib, right)" })
358
+ @ Specialization (insertBefore = "doGeneric" , guards = {"!lib.isNumber(left)" , " lib.hasArrayElements(left)" , "isNegativeNumber(lib, right)" })
359
359
static Object doForeignArrayNegativeMult (Object left , Object right ,
360
360
@ Cached PythonObjectFactory factory ,
361
361
@ CachedLibrary (limit = "3" ) InteropLibrary lib ) {
0 commit comments