# New Ticket Created by "Carl Mäsak"
# Please include the string: [perl #114724]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=114724 >
<skids> r: sub f (::T $g) { for ($g) -> T $h { } }; f("blah");
<p6eval> rakudo 962b9b: OUTPUT«Nominal type check failed for parameter
'$h'; expected T but got Str instead [...]
<masak> r: sub f (::T $g) { say T.^name }; f("blah")
<p6eval> rakudo 962b9b: OUTPUT«Str»
<masak> weyrd.
<skids> I do manage to run into some of the weirder ones, yes. :-)
<masak> r: sub f (::T $g) { say $g ~~ Str; say $g ~~ T; say Str ~~ T
}; f("blah")
<p6eval> rakudo 962b9b: OUTPUT«TrueTrueTrue»
<skids> it only happens in the for signature, every other place it works.
<masak> r: sub f (::T $g) { for $g -> $h where { say Str ~~ T } {} }; f("blah")
<p6eval> rakudo 962b9b: OUTPUT«True»
<masak> curious.
* masak submits rakudobug