In Rakudo right now, this lives: "{$foo;$^foo}(1)" However, the spec test expects it to die during compilation (see the end of S06-signature/positional-placeholders.t). It says, "A non-twigil variable should not precede a corresponding twigil variable."
In Rakudo right now, this says 3: sub foo { my $a = 3; say $^a }; foo(5); # RT #64310 The spec test would seem to imply that this should die during the definition of 'foo'. On the other hand, if we swap the statements, it merely complains that $a is redeclared and then croaks because we assigned to a read-only variable. sub foo { say $^a; my $a = 3 }; foo(5); Redeclaration of variable $a 5 Cannot assign to readonly variable. What's right here? Should we die when defining a block or sub with a variable before a placeholder of the same name? Kyle.