On Tue Apr 13 09:02:12 2010, masak wrote: > <masak> rakudo: class G {}; subset A of Array where { all(|$_) ~~ G }; > say [G.new, G.new, G.new] ~~ A > <p6eval> rakudo 3b5a79: OUTPUT«0» > <masak> :( > <masak> rakudo: say all(42) ~~ Int > <p6eval> rakudo 3b5a79: OUTPUT«0» > <masak> maybe junctional smartmatching simply isn't in place yet.
Ticket rejected. A smart-match against a type object does not auto-thread, since smart-matching against a type object is how type checking is done. If we didn't do that, then you could pass a junction of things that were all Any into an "Any" parameter in a sub and that'd break auto-threading, for example. A neat way to write what you want is like where { @^x <<~~<< G } or some such using an extending hyper-op. Thanks, Jonathan