id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
1512	NQP-rx generates bad access code for non-twigiled attribute	Austin_Hastings	pmichaud	"This code, with twigil:
{{{
austin@andLinux:~/kakapo$ cat test.nqp
method foo() {
	has @!attr;

	for my @a {
		say(@!attr);
	}
}
}}}
Generates this pir:
{{{
.annotate ""line"", 5
    find_lex $P24, ""self""
    getattribute $P25, $P24, ""@!attr""
    unless_null $P25, vivify_14
    new $P25, ""ResizablePMCArray""
  vivify_14:
}}}
Whereas this code, sans twigil:
{{{
austin@andLinux:~/kakapo$ cat test.nqp
method foo() {
	has @attr;

	for my @a {
		say(@attr);
	}
}
}}}
Generates this output:
{{{
.annotate ""line"", 5
    getattribute $P24, self, ""@attr""
    $P25 = ""say""($P24)
.annotate ""line"", 4
}}}

Because the sub is a nested block, it has no method declaration and so must do a find-lex lookup to get 'self'. This is not happening.
 
Since the grammar does not support '.' as a twigil, which I think it should, I'm not sure if an attribute with no twigil is or isn't valid. If it's not valid, then the `has @attr` declaration should throw an error. If it's valid, then the access code should work."	bug	new	normal		nqp	2.1.0	medium						
