> On Jan 4, 2016, at 20:59, Douglas Gregor via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> 
>> On Jan 4, 2016, at 8:54 PM, Kevin Lundberg <ke...@klundberg.com 
>> <mailto:ke...@klundberg.com>> wrote:
>> 
>> I like this idea, but I would imagine that for an extension with many 
>> functions in it, requiring @nonobjc on each one would get tedious very fast. 
>> Could it be required (or at least allowed in addition to per-method 
>> annotations) at the extension level?:
>>      
>>      @objc protocol P {}
>>      
>>      @nonobjc extension P {
>>              func foo() { }
>>              func bar() { }
>>              func baz() { }
>>              func blah() { }         
>>              // etc...
>>      }
>> 
>> I don’t know if this would have specific implementation ramifications over 
>> only doing this on each method, if extensions cannot already be modified 
>> with attributes. I can’t think of a case where I’ve seen annotations added 
>> to protocol extensions, or any other extensions for that matter.
> 
> We have some declaration modifiers (e.g., access-control modifiers) and 
> attributes (e.g., availability) that distribute in this manner from the 
> extension to its members. My only hesitation here is that @objc itself 
> doesn’t distribute in this way, and I’d rather they not be inconsistent.

I'd be much happier with this if we could do "@nonobjc extension", and I have 
no problems with "@objc extension" (even if it's rare). I suppose that would be 
a separate proposal.

Jordan

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to