# New Ticket Created by Sam S.
# Please include the string: [perl #126427]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=126427 >
This is one of those weird issues which happens for a specific constellation of
seemingly unrelated features.
Here's the golfed demo program which reliably produces the error for me:
grammar G { ... }
class A { ... }
for ("a",).race {
G.parse($_, actions => A);
}
grammar G {
token TOP { . }
}
class A {
method TOP ($/) { return }
}
It gives this error:
Cannot invoke this object
in method TOP at ./test.p6:12
in regex TOP at ./test.p6:9
in block at ./test.p6:5
*Each* of the following changes to the demo program gets rid of the error:
1) Removing the explicit 'return' statement in the action method.
2) Removing the '.race' method call in the loop header.
3) Moving the full definition of 'class A' *before* the 'for' loop.
---
(perl6 version 2015.09-433-g26617f9 built on MoarVM version 2015.09-79-gee9fc2b)