# New Ticket Created by Aleks-Daniel Jakimenko-Aleksejev
# Please include the string: [perl #131722]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=131722 >
Code:
my %m := Map.new(<a X b Y>);
%m<a> = 42;
say %m.perl
Result (2015.12~HEAD):
Map.new((:a(42),:b("Y")))
Code:
my %m := Map.new(‘a’, ‘X’, ‘b’, ‘Y’);
%m<a> = 42;
say %m.perl
Result (2015.12 ~ 2016.06):
Map.new((:a(42),:b("Y")))
Result (2016.07.1 ~ 2017.05):
Cannot modify an immutable Str
in block <unit> at /tmp/8nf6dnM_9C line 2
Result (2017.06 ~ HEAD(05c255c)):
Cannot modify an immutable Str (X)
in block <unit> at /tmp/8nf6dnM_9C line 2
The significant change happened after
https://github.com/rakudo/rakudo/commit/de5d9e70cbfe678d2371d284e9384f53aba1eb94
I'm not sure what the ideal behavior should be, I'm just pointing out the thing.
IRC log: https://irclog.perlgeek.de/perl6/2017-07-09#i_14846532
Another interesting point:
Code:
my %m := Map.new(<a X b Y>); say %m.perl
Result:
Map.new((:a("X"),:b("Y")))
Code:
my %m := Map.new(‘a’, ‘X’, ‘b’, ‘Y’); say %m.perl
Result:
Map.new((:a("X"),:b("Y")))
If their .perl is identical, I guess they should behave identically too.