Enviado desde mi iPhone
> El 4 abr 2017, a las 22:04, Douglas Gregor <[email protected]> escribió:
> 
> 
>> On Apr 4, 2017, at 12:31 PM, Víctor Pimentel Rodríguez via swift-evolution 
>> <[email protected]> wrote:
>> 
>> Sorry to be late :/
>> 
>>> On Fri, Mar 31, 2017 at 5:29 PM, Chris Lattner via swift-evolution 
>>> <[email protected]> wrote:
>>> * What is your evaluation of the proposal?
>> 
>> More positive than the first one, but still some rough edges.
>> 
>> One concern that I still have is that if we use @objcMembers, @nonobjc 
>> methods/properties are going to be even trickier to find.
>> 
>> If such modifier existed, I would like the compiler to warn me of public 
>> methods/properties that cannot be bridged to ObjC, because I have explicitly 
>> told the compiler that I want this object to live in the ObjC runtime. Of 
>> course, with a fixit recommending something like explicitly using @nonobjc.
> 
> @objc on extensions behaves this way; the compiler will produce an error if 
> the entity cannot be exposed to Objective-C.
> 
>       - Doug

Yeah, I think you explained the behavior of extensions very well in the 
proposal:

> If some member within that extension cannot be exposed to Objective-C, such 
> as SwiftClass.bar(), the compiler will produce an error.

My specific question was about implicitly @nonobjc members in a @objcMembers 
class. That is, would the compiler allow such member with no @nonobjc 
annotation? And would extensions of such classes allow those members? Do I need 
to put @objc in every extension of a @objcMembers class to get that compiler 
error?

By the way, I very much appreciate the level of care that you put into this 
proposal and its implementation. Thank you very much!

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

Reply via email to