[swift-evolution] [swift-evolution-announce] [Accepted] SE-0140: Bridge Optional As Its Payload Or NSNull

Kenny Leung kenny_leung at pobox.com
Wed Sep 14 12:16:24 CDT 2016


Maybe that could be:

func funkyFunc(getDown :Any?)

-Kenny


> On Sep 12, 2016, at 4:48 PM, Greg Parker via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On Sep 12, 2016, at 3:39 PM, Douglas Gregor <dgregor at apple.com> wrote:
>> 
>> As an amendment to SE-0140, Swift will produce a warning when an optional value is converted to a value of type Any, e.g.,
>> 
>> 	MyClass().doSomething(stringOpt)  // warning: optional value of type ‘String?’ is converted to an ‘Any’
>> 					  // note: use ‘!’ to force-unwrap the optional
>> 					  // note: use ‘??’ to provide a default value if the optional is nil
>> 					  // note: use ‘as Any’ to silence this warning
>> 
>> Such a warning will address most accidental injections of optional values into Any, and the core team felt that this addresses accidental boxing of optional values better than leaving the opaque object types to fail fast in Objective-C code that inspects them (e.g., see this message for a negative review partly on these grounds).
> 
> Is there a recommended pattern for defining a callee that actually wants to accept anything including optionals with no warning for the caller? 
> 
> 
> -- 
> Greg Parker     gparker at apple.com     Runtime Wrangler
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list