# New Ticket Created by Moritz Lenz
# Please include the string: [perl #111264]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=111264 >
21:01 < moritz> nom: class A { }; { multi infix:«<»(A, A) { say "A
overloaded" }; A.new < A.new; }
21:01 <+p6eval> nom 4130f6: OUTPUT«No applicable candidates found to
dispatch to for 'Real'. Available candidates are::(Mu:U \$v, Mu %_!)
n method Real at src/gen/CORE.setting:665 in sub infix:<<>
at src/gen/CORE.setting:2305 in block <anon> at
/tmp/WHCmyaMoUM:1»
21:01 < moritz> nom: class A { }; { multi infix:«+»(A, A) { say "A
overloaded" }; A.new + A.new; }
21:01 <+p6eval> nom 4130f6: OUTPUT«A overloaded»
So, works with + but not with ==. Weird.
Additional analysis:
./perl6 -e 'class A { }; { multi infix:«<»(A $, A $) { say "A+" }; Mu <
Mu }'
No applicable candidates found to dispatch to for 'infix:<<>'. Available
candidates are:
:(Any $x?)
:(int $a, int $b)
:(num $a, num $b)
:(Int:D \$a, Int:D \$b)
:(Num:D \$a, Num:D \$b)
:(Instant:D $a, Instant:D $b)
:(Date:D $a, Date:D $b)
:(Real \$a, Real \$b)
:(Any \$a, Any \$b)
in block <anon> at -e:1
This doesn't include any candidate with type A.
Cheers,
Moritz