[swift-evolution] [Review] SE-0160: Limiting @objc inference
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?
> * 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:
> -Chris Lattner
> Review Manager
> swift-evolution mailing list
> swift-evolution at swift.org
More information about the swift-evolution