On Wed, Feb 26, 2014 at 1:50 AM, Will Coleda via RT <[email protected]> wrote: > On Thu Oct 28 14:41:06 2010, masak wrote: >> <masak> rakudo: class A { has $.x; method foo { say $!x } }; class B >> is A { has $.x; method bar { say $!x } }; B.new(:x(42), A{ :x(5) }) >> <p6eval> rakudo 479650: OUTPUT«flattened parameters must be a hash or >> array [...] >> <masak> jnthn: whoz op with that? >> <jnthn> rakudo: class A { }; class B { }; B.new(A{ :x(5) }) >> <p6eval> rakudo 479650: OUTPUT«flattened parameters must be a hash or >> array [...] >> <jnthn> Hm >> <jnthn> masak: Off hand, I'm not sure. >> <jnthn> masak: Unless it's a general WHENCE issue. >> <masak> but it's a bug, right? >> <jnthn> Yeah >> * masak submits rakudobug >> <jnthn> I wonder if we're missing A{ ... } support somehow. >> <masak> I'm pretty sure it worked at some point. >> <masak> not sure it ever worked in master, though. > > This now dies with: > > Default constructor for 'B' only takes named arguments > > Is this acceptable?
It shouldn't die, it should be a legal way to construct a B object with an assignment to the (shadowed) $!x in A.
