[swift-evolution] Pitch: really_is and really_as operators

Charles Srstka cocoadev at charlessoft.com
Wed Aug 24 21:58:05 CDT 2016


> On Aug 24, 2016, at 8:09 PM, Jaden Geller <jaden.geller at gmail.com> wrote:
> 
> Scratch that last message. Determining what's stored in `Any` was Charles's original goal, and what I said made no sense. This should work:
> 
> func unbridgedCast<T, U>(_ x: T, to: U.Type) -> U? {
>     guard type(of: x) is U.Type else { return nil }
>     return x as! U
> }
> 
> if let x = unbridgedCast(x, to: String.self) { … }

Hmm, this one actually does seem to work. I had expected that type(of:) would be bridged as well. Thanks; this is definitely better than the Mirror workaround, at least.

Charles

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160824/29320da5/attachment.html>


More information about the swift-evolution mailing list