# New Ticket Created by Christian Bartolomaeus # Please include the string: [perl #129782] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=129782 >
We have different tests in roast which are currently failing on JVM
because an Int is returned where a Bool is expected. In all cases the
problem goes away with --optimize=off. I believe all those tests fail
for the same reason.
This might be related to https://rt.perl.org/Ticket/Display.html?id=127951
where changing --optimize=2 to --optimize=1 makes the difference.
==== examples taken from roast
$ ./perl6-j -e 'say (1/10 + 1/10 + 1/10 == 0.3).gist' ##
integration/advent2013-day15.t
1
$ ./perl6-j --optimize=off -e 'say (1/10 + 1/10 + 1/10 == 0.3).gist'
True
$ ./perl6-j -e 'my Mu $x = "a" ne ("a"|"b"|"c"); say $x ~~ Bool' ##
S03-junctions/autothreading.t
False
$ ./perl6-j --optimize=off -e 'my Mu $x = "a" ne ("a"|"b"|"c"); say $x ~~ Bool'
True
$ ./perl6-j -e 'say (0 == 0).HOW' ## S03-operators/basic-types.t
Perl6::Metamodel::ClassHOW.new
$ ./perl6-j --optimize=off -e 'say (0 == 0).HOW'
Perl6::Metamodel::EnumHOW.new
$ ./perl6-j -e 'say (?^5); say (?^5).^name' ## S03-operators/boolean-bitwise.t
False
Int
$ ./perl6-j --optimize=off -e 'say (?^5); say (?^5).^name'
False
Bool
$ ./perl6-j -e 'say defined("a" => 5) ~~ Bool' ## S32-scalar/defined.t
False
$ ./perl6-j --optimize=off -e 'say defined("a" => 5) ~~ Bool'
True
