# New Ticket Created by "Brian S. Julin"
# Please include the string: [perl #127686]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=127686 >
Note that star needs to use EnumMap to test this, but the problem happened well
after 2015.09.
(09:58:41 AM) skids: star: class a { has EnumMap $.f = EnumMap.new() }; my $f =
a.new(); $f.f.perl.say; $f.f = :a1, :b2; $f.f.perl.say
(09:58:41 AM) camelia: star-m 2015.09: OUTPUT«EnumMap.new()Cannot assign to a
readonly variable or a value in block <unit> at /tmp/lpr91G4eaJ:1»
(09:58:52 AM) skids: m: class a { has Map $.f = Map.new() }; my $f = a.new();
$f.f.perl.say; $f.f = :a1, :b2; $f.f.perl.say
(09:58:53 AM) camelia: rakudo-moar f93bab:
OUTPUT«Map.new(())Map.new((:a1,:b2))»
psch++ tracked this to the recent attribute inlining optimizations in rakudo
fdd37a9 though there were NQP/MoarVM changes involved in that as well.
Note also this, which is not related and also behaves this way on star:
10:05:11 AM) skids: m: my %f := Map.new(); %f = (:a1, :b2); %f.perl.say
(10:05:11 AM) camelia: rakudo-moar f93bab: OUTPUT«Map.new((:a1,:b2))»
This all fell out from a question asked by JRasPass++ here:
http://irclog.perlgeek.de/perl6/2016-03-09#i_12160443