On Thu Jul 23 06:14:43 2009, masak wrote:
> <masak> rakudo: subset Person of Hash where { .keys.sort ~~ <firstname
> lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha> }
> <p6eval> rakudo f5ccc0: OUTPUT«Could not build C3 linearization:
> ambiguous hierarchyin sub trait_mod:of [...]
> <masak> I think I just found a bug. \o/
> <masak> jnthn: seen something like this before?
> <jnthn> not seen that one before... :-S
> <jnthn> report
> <masak> rakudo: subset Person of Hash; my Person $p = {}
> <p6eval> rakudo f5ccc0: OUTPUT«Could not build C3 linearization:
> ambiguous hierarchyin sub trait_mod:of [...]
> * masak reports
> <masak> rakudo: subset Austria of Array; my Austria $p = []
> <p6eval> rakudo f5ccc0: OUTPUT«Could not build C3 linearization:
> ambiguous hierarchyin sub trait_mod:of [...]
> <masak> rakudo: subset Meercat of Pair; my Meercat $p = :a<b>
> <p6eval> rakudo f5ccc0: ( no output )
> <masak> rakudo: subset Austria of List; my Austria $p = []
> <p6eval> rakudo f5ccc0: ( no output )
>
> So subtyping Pair and List works, but not subtyping Array or Hash.
14:29 < [Coke]> rakudo: subset Person of Hash where { .keys.sort ~~ <firstname
lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha>
}; say $p.perl
14:29 <+p6eval> rakudo 1c2c2d: OUTPUT«{"firstname" => "Kyle", "lastname" =>
"Ha"}»
14:29 < [Coke]> rakudo: subset Austria of Array; my Austria $p = []
14:29 <+p6eval> rakudo 1c2c2d: ( no output )
Both seem to work now. testsplz.
--
Will "Coke" Coleda