[Accepted] SE-0160: Limiting @objc inference


(Chris Lattner) #1

Proposal link: https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md

The re-review of SE-0160 ran from March 31...April 2. The proposal is accepted. The feedback on the second round of review was very light and uniformly positive.

The proposal has been implemented in https://github.com/apple/swift/pull/8379. Early experience migrating a nontrivial Cocoa app (~200kloc, roughly half Swift and half Objective-C) resulted in a 5.7% decrease in code size (Release build) and required only 40 new @objc annotations, 37 of which were indicated by the new compiler warnings, 2 of which manifested as post-migration errors, and the last of which was found with the new (opt-in) runtime warnings.

Thank you to Doug Gregor for the proposal, and also the implementation of this improvement!

-Chris