[swift-evolution] [Pitch] Introduce user-defined dynamically "callable" types

Joe Groff jgroff at apple.com
Fri Nov 10 17:51:23 CST 2017



> On Nov 10, 2017, at 3:45 PM, Charles Srstka <cocoadev at charlessoft.com> wrote:
> 
>> On Nov 10, 2017, at 5:36 PM, Joe Groff <jgroff at apple.com> wrote:
>> 
>> How `MyObject.foo(_:bar:)` gets implemented is its own business, as far as the compiler is concerned. The compile-time name resolution for the method isn't impacted.
>> 
>> -Joe
> 
> The compile-time name resolution for the method doesn’t happen *at all.*

You declared the method in your @interface, and the compiler saw that and brought it in as what Swift considers to be a regular method, and your call on the Swift side was resolved to it by Swift's usual lookup rules. To do what Chris is suggesting requires changing the way calls get resolved in the compiler before the call is even formed.

-Joe


More information about the swift-evolution mailing list