On Sun Mar 15 08:36:42 2009, masak wrote: > <masak> rakudo: sub foo { return }; say foo.WHAT; say ?(foo ~~ Nil) > <p6eval> rakudo 5b1ff9: OUTPUT«Nil0» > * masak submits > > Expected behavior: a "Nil" and a 1. Or an explanation about why a > value shouldn't smartmatch successfully against its own type.
Note that "foo ~~ Nil" is the same as "foo(~~Nil)" which is the same as "foo(~(~Nil))". In other words, it's not a smartmatch operator here, it's two prefix:<~>s. Rejecting ticket. Pm