> On Apr 1, 2017, at 2:52 AM, Xiaodi Wu <[email protected]> wrote:
> 
> You're right, I had to re-read the proposal a few times to grasp fully the 
> intention there.
> 
> There was some discussion in the previous thread that this would be needed to 
> infer @objc for implementations of @objc protocol requirements, but I see 
> that this is inferred without any such annotation in this version of the 
> proposal, which IMO is definitely reasonable.

Right. We’ll infer @objc when the declaration implements a requirement of an 
@objc protocol.

> It seems @objcMembers is really geared towards introspection. That finally 
> clicked just now. Would you consider, for those of us like me who are a 
> little slower on the uptake, making this even more explicit in the spelling? 
> I'm thinking along the lines of `@introspection(objc)`, which nicely leaves 
> open the possibility of future introspection facilities that don't require 
> Objective-C. I get that "members" is meant to decribe what's going on that's 
> different from plain @objc, but for me it took a while to grasp the answer to 
> the question, "Why is this another annotation, or in other words, when would 
> I use this instead?”

Introspection is a legitimate use case, but it’s not the only use case for 
@objcMembers, and it doesn’t really convey what the attribute does—it makes the 
members @objc.

        - Doug

> 
> 
> On Fri, Mar 31, 2017 at 13:30 Douglas Gregor <[email protected] 
> <mailto:[email protected]>> wrote:
>> On Mar 31, 2017, at 9:35 AM, Xiaodi Wu via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> On Fri, Mar 31, 2017 at 10:29 AM, Chris Lattner via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> Hello Swift community, 
>> 
>> The second review of "SE-0160: Limiting @objc inference" begins now and runs 
>> through April 2, 2017. The proposal is available here:
>> 
>>      
>> https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md
>>  
>> <https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md>
>> 
>> Reviews are an important part of the Swift evolution process. All reviews 
>> should be sent to the swift-evolution mailing list at:
>> 
>>      https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> 
>> or, if you would like to keep your feedback private, directly to the review 
>> manager. 
>> 
>> What goes into a review?
>> 
>> The goal of the review process is to improve the proposal under review 
>> through constructive criticism and, eventually, determine the direction of 
>> Swift. When writing your review, here are some questions you might want to 
>> answer in your review:
>> 
>> * What is your evaluation of the proposal?
>> 
>> I do think this current iteration is an improvement. I have to say, though, 
>> that I prefer Doug Gregor's spelling of `@implicitobjc` over `@objcMembers`. 
>> It think the former explains the feature a little better and also happens to 
>> be subjectively nicer-looking.
> 
> I think @objcMembers is more precise: it doesn’t imply that the class itself 
> is @objc, just that the members are @objc.
> 
>       - Doug
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to