Agreed, but I&#39;m sure lots of user code depends on it (e.g. when extracting numeric values from property lists). If it stopped working, wouldn&#39;t these &quot;as?&quot; casts silently start returning nil where they didn&#39;t before?<br><div class="gmail_quote"><div dir="ltr">On Fri, May 6, 2016 at 8:20 PM Charles Srstka &lt;<a href="mailto:cocoadev@charlessoft.com">cocoadev@charlessoft.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><blockquote type="cite">On May 6, 2016, at 3:15 PM, Joe Groff via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br></blockquote><div><blockquote type="cite"><br><div><div><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">On May 6, 2016, at 12:21 PM, Jacob Bandes-Storch via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br><br>Does this affect the ability to use &quot;x as? Int&quot; (and similar) when x is an NSNumber?<br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">No, this only affects compile-time implicit conversions. I proposed changing the runtime behavior of dynamic casts in SE-0083:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0083-remove-bridging-from-dynamic-casts.md" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0083-remove-bridging-from-dynamic-casts.md</a></div></div></blockquote></div><br></div><div style="word-wrap:break-word"><div>I’d just like to throw in that the ability to use “x as? Int” when x is an NSNumber is terrible.</div><div><br></div><div><div>let num: AnyObject = NSNumber(int: 5)</div><div><br></div><div>let int = num as? Int<span style="white-space:pre-wrap">                </span>// 5</div><div>let float = num as? Float<span style="white-space:pre-wrap">                </span>// 5</div><div>let int32 = num as? Int32<span style="white-space:pre-wrap">        </span>// nil!</div></div><div><br></div><div>Completely unexpected failure, and you’ll never know about it until runtime.</div></div><div style="word-wrap:break-word"><div><br></div><div>Charles</div><div><br></div></div></blockquote></div>