On Fri, 06 Mar 2015 14:10:06 -0800, rayd...@cyberuniverses.com wrote: > See http://irclog.perlgeek.de/perl6/2015-03-06#i_10237431 and the next > few examples. > > perl6 -e 'role R does Callable { method foo { self.say } }' > ===SORRY!=== > Internal error: failed to remove block > > Removing the Callable role, or inheriting with 'is' instead of > composing, makes the error go away. Calling metamethods (.WHAT tested) > also works. > > Even removing the method surrounding the call gives the same error, > instead of 'no self available'.
Current behavior suggests this has been fixed: $ perl6 -e 'role R does Callable { method foo { self.say } }' $ perl6 -e 'role R does Callable { method foo { self.say } }; R.foo' (R) $ perl6 -e 'role R does Callable { self.say }; R.foo' ===SORRY!=== Error while compiling -e 'self' used where no object is available at -e:1 ------> role R does Callable {⏏ self.say }; R.foo expecting any of: term