[swift-evolution] [Review] SE-0160: Limiting @objc inference

Matthew Johnson matthew at anandabits.com
Wed Mar 22 10:04:14 CDT 2017


> * What is your evaluation of the proposal?

+1.  This clarifies the interaction between Swift and Objective-C and reduces the magic that exists for bridging.  It’s one more step on the road of Swift relying less on the Objective-C runtime - decoupling the semantics of `dynamic` from `@objc` is a great thing.

This has potential to be the rockiest feature to migrate to Swift 4 thus far.  I like Michel’s idea of an option in the migrator to apply `@objc` everywhere it is inferred today.  This would help teams that rely on dynamic interactions with the Objective-C runtime to migrate safely.

> * Is the problem being addressed significant enough to warrant a change to Swift?

Yes.  It cleans up semantics that can be confusing today and makes Objective-C interactions more explicit. 

> * Does this proposal fit well with the feel and direction of Swift?

Yes.

> * If you have you used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

There is a long history of bridging in the Apple ecosystem.  Annotation for bridged declarations is customary.

> * How much effort did you put into your review? A glance, a quick reading, or an in-depth study? 

A quick read.

> 
> More information about the Swift evolution process is available at:
> 	https://github.com/apple/swift-evolution/blob/master/process.md 
> 
> Thanks!
> 
> -Chris Lattner
> Review Manager
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list