OK, so the test for this goes like this:

Create a file Simple.pm6 with this content:

unit class Simple; sub buggy-str is export { “: {‘’}\n\r” ~ “\n\r” }

Then run something like this:
use lib ‘sandbox’; # or whatever the path is for your Simple.pm6
use Simple;
say buggy-str() eq “: \n\r\n\r”


On buggy versions it returns False, even though both strings are identical. On
HEAD it returns True correctly.

On 2017-08-19 05:33:37, alex.jakime...@gmail.com wrote:
> It was fixed in this commit:
>
https://github.com/MoarVM/MoarVM/commit/5363a0742d9ea7183200a747c2d7531e82bc5c71
>
> samcv++
>
> Tests needed.
> On 2017-08-18 12:48:20, alex.jakime...@gmail.com wrote:
> > The issue happens in Email::Simple (one of its tests is now failing,
> > but it was ok in 2017.07).
> >
> > Here's the code:
> >
> > use v6;
> > use Test;
> > use Email::Simple;
> > my $nr = "\x0a\x0d";
> > my $nasty = "Subject: test{$nr}To: foo{$nr}{$nr}foo{$nr}";
> > my $mail = Email::Simple.new($nasty);
> > is $mail.crlf, "{$nr}", "got correct line terminator";
> > is $mail.body, "foo{$nr}", "got correct body";
> > is ~$mail, $nasty, "Round trip nasty";
> >
> >
> > Result:
> > ok 1 - got correct line terminator
> > ok 2 - got correct body
> > not ok 3 - Round trip nasty
> >
> > # Failed test 'Round trip nasty'
> > # at t/basic.t line 9
> > # expected: "Subject: test\n\rTo: foo\n\r\n\rfoo\n\r"
> > # got: "Subject: test\n\rTo: foo\n\r\n\rfoo\n\r"
> >
> >
> > Yes, it displays two strings that look identical, but (~$mail eq
> > $nasty) is actually False.
> >
> >
> > Bisected:
> >
> > <AlexDaniel> bisect: old=2017.07
> >
>
https://gist.githubusercontent.com/AlexDaniel/64032cb24876d9a1cfac44a752921d20/raw/2d242fa49eef2b74da1b6626e337631463471182/basic.t
> > <bisectable6> AlexDaniel, Successfully fetched the code from the
> > provided URL.
> > <bisectable6> AlexDaniel, Bisecting by exit code (old=2017.07
> > new=1599873). Old exit code: 0
> > <bisectable6> AlexDaniel, bisect log:
> > https://gist.github.com/d16b49e55a1102e25b95be5df7bbf902
> > <bisectable6> AlexDaniel, (2017-07-20)
> >
>
https://github.com/rakudo/rakudo/commit/b81597bd867a0072cea6453529da89a13ede808c
> >
> >
> > So it is due to “String concatenation improvements”, or so it seems.

Reply via email to