diff --git a/S12-role/composition.t b/S12-role/composition.t index 6086f434e3..ff44f5e704 100644 --- a/S12-role/composition.t +++ b/S12-role/composition.t @@ -1,6 +1,6 @@ use v6; use Test; -plan 9; +plan 11; # L @@ -60,4 +60,20 @@ is $y.mB2, 'mB2', 'Can call mixed in method (two roles) 4'; is $z.mA1, 'D1.mA1', 'Can override method in a role with method in a class'; } +# diamond composition, see RT #63330 + +#?rakudo skip 'RT #63330' +{ + role DA { + method foo { "OH HAI" }; + } + role DB does DA { } + role DC does DA { } + class DD does DB does DC { }; + is DD.new.foo, 'OH HAI', 'diamond role composition'; + class DE is DB is DC { }; + is DE.new.foo, 'OH HAI', 'same with punning and inheritance'; + +} + # vim: syn=perl6