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 roleat <tmp>:1» > <ShimmerFairy> m: #|abcrole 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 roleat <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.