First, what's the recommended reference for learning how dispatching to the right 'multi' sub is resolved. ?
I'd like to know the expected behavior in this case: multi sub foo () { say "b: " } multi sub foo () { say "a: " } foo(); I would expect it would throw an error or at least a warning, since there's no clear way to choose a correct sub to dispatch to. Pugs currently dispatches to one anyway, without a warning. A more insidious version of the same case is the following, which I accidentally wrote more than once already...and then wondered why my code wasn't working as expected... multi sub foo (%names?) { say "b: " } multi sub foo (@pos?) { say "a: " } There, I have distinct arguments, but they are both optional, making them the same as the case above. Mark.