# New Ticket Created by rightfold # Please include the string: [perl #127367] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=127367 >
Consider the following code: use v6.c; subset T of List where *[0] eqv 1; class R { multi method f(T:D $xs) { self.f(42) } multi method f(Any:D $xs) { say $xs } } R.f([1, 2]); R.f([2, 2]); It fails with the following output: 42 Type check failed in binding $xs; expected T but got Array in method f at /tmp/foo.pm6 line 6 in block <unit> at /tmp/foo.pm6 line 11 However, when the R.f([1, 2]) call is removed, the program succeeds. Thanks to masak++ for helping minimizing the example. Rakudo version: > This is Rakudo version 2015.12 built on MoarVM version 2015.12 implementing > Perl 6.c.