New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Addition of two quasis with arithmetical expressions sometimes adds only the second quasi twice, sometimes fails, in Rakudo #2949
Comments
From @masak<masak> r: macro bohr() { my $q1 = quasi { 6 }; my $q2 = quasi { 6 * |
From @usev6The addition of two quasis with arithmetical expressions works on Moar and JVM. On Parrot the old error ("Cannot call 'infix:<+>'; none of these signatures match") is gone, but the result of the addition is still wrong. $ perl6-m -e 'macro bohr() { my $q1 = quasi { 6 }; my $q2 = quasi { 6 * 10 }; quasi { {{{$q1}}} + {{{$q2}}} } }; say bohr()' $ perl6-p -e 'macro bohr() { my $q1 = quasi { 6 }; my $q2 = quasi { 6 * 10 }; quasi { {{{$q1}}} + {{{$q2}}} } }; say bohr()' (It's the same with "{ 5 + 1}" for the first quasi.) I added two tests (fudged 'skip' for Parrot) to S06-macros/quasi-blocks.t with the following commit: Raku/roast@bab9270 Please note: There is something strange with the failing parrot tests. I have fudged them as 'skip' because if I fudge both tests as 'todo' and run "perl t/harness --fudge" manually, it reports one passed TODO: $ perl t/harness --fudge t/spec/S06-macros/quasi-blocks.t Test Summary Report t/spec/S06-macros/quasi-blocks.rakudo.parrot (Wstat: 0 Tests: 14 Failed: 0) But if I execute the thereby generated test file t/spec/S06-macros/quasi-blocks.rakudo.parrot both tests fail. (So there is no passed TODO.): $ perl6-p t/spec/S06-macros/quasi-blocks.rakudo.parrot # Failed test 'addition of two quasis with arithmetical expressions works (1)' # Failed test 'addition of two quasis with arithmetical expressions works (2)' |
1 similar comment
From @usev6The addition of two quasis with arithmetical expressions works on Moar and JVM. On Parrot the old error ("Cannot call 'infix:<+>'; none of these signatures match") is gone, but the result of the addition is still wrong. $ perl6-m -e 'macro bohr() { my $q1 = quasi { 6 }; my $q2 = quasi { 6 * 10 }; quasi { {{{$q1}}} + {{{$q2}}} } }; say bohr()' $ perl6-p -e 'macro bohr() { my $q1 = quasi { 6 }; my $q2 = quasi { 6 * 10 }; quasi { {{{$q1}}} + {{{$q2}}} } }; say bohr()' (It's the same with "{ 5 + 1}" for the first quasi.) I added two tests (fudged 'skip' for Parrot) to S06-macros/quasi-blocks.t with the following commit: Raku/roast@bab9270 Please note: There is something strange with the failing parrot tests. I have fudged them as 'skip' because if I fudge both tests as 'todo' and run "perl t/harness --fudge" manually, it reports one passed TODO: $ perl t/harness --fudge t/spec/S06-macros/quasi-blocks.t Test Summary Report t/spec/S06-macros/quasi-blocks.rakudo.parrot (Wstat: 0 Tests: 14 Failed: 0) But if I execute the thereby generated test file t/spec/S06-macros/quasi-blocks.rakudo.parrot both tests fail. (So there is no passed TODO.): $ perl6-p t/spec/S06-macros/quasi-blocks.rakudo.parrot # Failed test 'addition of two quasis with arithmetical expressions works (1)' # Failed test 'addition of two quasis with arithmetical expressions works (2)' |
@usev6 - Status changed from 'new' to 'open' |
From @usev6Since support for Parrot was suspended with Rakudo Star Release 2015.02, I'm closing this "parrot only" ticket. I added the ticket to a list of closed ticket living in the Mu repository: https://github.com/perl6/mu/blob/master/misc/rt.perl.org/tickets_closed_parrot_only.txt. In case support for Parrot will be restored in some future release the listed tickets can be checked and re-opened as appropriate. |
@usev6 - Status changed from 'open' to 'rejected' |
Migrated from rt.perl.org#115500 (status was 'rejected')
Searchable as RT115500$
The text was updated successfully, but these errors were encountered: