The type of the 'left' argument was being used for the selection of which comparison function to use. This does not agree with the typical usage of the second argument to is() to mean the expected value (as in English). ---
runtime/parrot/library/Test/More.pir | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/parrot/library/Test/More.pir b/runtime/parrot/library/Test/More.pir index 51660ea..fd297ab 100644 --- a/runtime/parrot/library/Test/More.pir +++ b/runtime/parrot/library/Test/More.pir @@ -258,11 +258,11 @@ add more. .local int pass pass = 0 - .local string l_type - l_type = typeof left + .local string r_type + r_type = typeof right - if l_type == 'Float' goto num_compare - if l_type == 'Int' goto num_compare + if r_type == 'Float' goto num_compare + if r_type == 'Int' goto num_compare goto string_compare num_compare: