This message is looking for a clarification/confirmation. S12:207 says: > To call an ordinary method with ordinary method-dispatch semantics, > use either the dot notation or indirect object notation: > > $obj.doit(1,2,3) > doit $obj: 1,2,3 > > If the method was not found, it will fall back to a subroutine call > instead, with the invocant becoming the first positional argument.
Does fall back to a subroutine occur anytime we don't have a method with a matching signature? For example, if we have class Foo { multi method bar(Num $x) { say "Foo::bar"; } } sub bar(Int $x) { say "sub bar"; } my $foo = Foo.new; $foo.bar(3); In this case do we still fall back to the subroutine call? How about if the method isn't a multimethod (or if the sub is a multisub)? Thanks, Pm