# New Ticket Created by "Carl Mäsak"
# Please include the string: [perl #91838]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=91838 >
<felher> are Lvalue subroutines already implemented in rakudo?
<sorear> felher: yes
<sorear> felher: I don't beleive any current implementation has rvalue
subroutines
<sorear> perl6: my $x; sub foo () { $x }; foo = 5; say $x
<p6eval> niecza v5-120-gde5e663:
OUTPUT«[31m===[0mSORRY![31m===[0mAny()Preceding context expects
a term, but found infix = instead at /tmp/4d4NuqQiXD line 1:------>
[32mmy $x; sub foo () { $x }; foo [33m⏏[31m= 5; say $x[0mParse
failed»
<p6eval> ..pugs, rakudo 30809a: OUTPUT«5»
<sorear> perl6: my $x; sub foo () { $x }; foo() = 5; say $x
<p6eval> pugs, rakudo 30809a, niecza v5-120-gde5e663: OUTPUT«5»
<masak> std: my $x; sub foo () { $x }; foo = 5
<p6eval> std 4b1b100: OUTPUT«[31m===[0mSORRY![31m===[0mPreceding
context expects a term, but found infix = instead at /tmp/WUysEoKeed
line 1:------> [32mmy $x; sub foo() { $x }; foo [33m⏏[31m=
5[0mParse failedFAILED 00:01 117m»
* masak submits rakudobug
So: STD considers the sequence 'foo =' a syntax error; Rakudo doesn't.