For the records: This works with '--optimize=off' (as psch++ has shown in the 
linked discussion on #perl6).

$ ./perl6-j --optimize=off -e 'my $value = 42 but False; say ?$value'
False

The optimizer adds a QAST::Want for the mixin which the JVM backend does not 
handle correctly.

$ RAKUDO_OPTIMIZER_DEBUG=1 ./perl6-j -e 'my $value = 42 but False; say ?$value'
[...]
  - QAST::Want <>
    - QAST::WVal(Int+{<anon|1285927979>}) <>
    - Ii
    - QAST::IVal(42) <>
[...]
True

See also my findings in https://rt.perl.org/Ticket/Display.html?id=129782 which 
is about a similar problem.

Reply via email to