On Mon, 01 Aug 2016 21:44:28 -0700, lue wrote:
> <ShimmerFairy> m: #|(abc) role A { method foo { ... } }; class B does
> A { method foo { "OK" } }; say B.foo
> <camelia> rakudo-moar f1313d: OUTPUT«===SORRY!=== Error while
> compiling <tmp>␤Method 'foo' must be implemented by A because it is
> required by a role␤at <tmp>:1␤»
> <ShimmerFairy> m: #|abc␤role A { method foo { ... } }; class B does A
> { method foo { "OK" } }; say B.foo
> <camelia> rakudo-moar f1313d: OUTPUT«OK␤»
> <ShimmerFairy> m: #|[[[abc]]]␤role A { method foo { ... } }; class B
> does A { method foo { "OK" } }; say B.foo
> <camelia> rakudo-moar f1313d: OUTPUT«===SORRY!=== Error while
> compiling <tmp>␤Method 'foo' must be implemented by A because it is
> required by a role␤at <tmp>:2␤»
> 
> It specifically has to be a _leading_ declarator block, and as seen
> above it has to be the multi-line (delimited) variety. The single-line
> variant works fine. Trailing declarator blocks don't break this
> either. As seen above, the specific choice of delimiters on the
> declarator block is irrelevant.

This was also reported, fixed, and tests added in RT#130208, so resolving, 
since I can't merge it.

Test is at the bottom of S26-documentation/block-leading.t

...though there still may be a heisenbug in this area kicking around I think.  
Just hard to replicate.

Reply via email to