I was going to submit this as a Rakudo bug report, but I'm not sure it's (a natural consequence of) spec, so I'll ask here on p6l instead.
I already know I can do all of the following: $a[42]; $a.postcircumfix:<[ ]>(42); $a = $a.postcircumfix:<[ ]>(42); $a.=postcircumfix:<[ ]>(42); But can I do this? $a.=[42]; In other words, would the .=[...] syntax unambiguously mean "positionally index the LHS and assign the result back to it"? Same question for prefix .=[...]. And same question, of course, for the other postcircumfix indexing operators. And, tentatively, for method call syntax as well, even though the semantics would be "invoke the LHS with these paramters and assign the return value back to it". Rakudo currently doesn't recognize this syntax. $ perl6 -e 'my @a = <zero one two>; my $a = @a; $a.=[2]; say $a' Could not find non-existent sub !.= [...] (Same result for hash access, function calls, and the prefix forms.) STD.pm doesn't seem to have a problem with it. $ std 'my $a; $a.=[42]' ok 0:01.19 2487m $ std 'my $a; $a.={"foo"}' ok 0:01.16 2487m $ std 'my $a; $a.=()' ok 0:01.11 2487m $ std '.=[42]' ok 0:01.10 2479m $ std '.={"foo"}' ok 0:01.04 2479m $ std '.=()' ok 0:01.01 2479m I have not checked to see what it parses the syntax into, though. // Carl