is and as are implemented in the compiler to call the same method Sent from my iPhone
> On Jun 14, 2017, at 1:38 PM, Xiaodi Wu <xiaodi...@gmail.com> wrote: > > In SE-0170, it states: "It is worth noting that `is` should follow the same > logic as `as?`." For clarity, does rolling back to the initial Swift 3 > behavior mean that `NSNumber(value: 0.1) is Float == true`? > >> On Wed, Jun 14, 2017 at 3:13 PM, Philippe Hausler via swift-evolution >> <swift-evolution@swift.org> wrote: >> After implementing the proposal >> https://github.com/apple/swift-evolution/blob/master/proposals/0170-nsnumber_bridge.md >> we have gotten some initial feedback. >> >> It seems that there is definitely a fair amount of confusion and heartache >> for dealing with Float and Double values being bridged. >> >> Specifically the cases like: >> >> NSNumber(value 0.1) as? Float >> >> which with the current implementation will return nil since the Double value >> 0.1 cannot be represented exactly as a Float. >> >> It seems like the overwhelming majority of users know full well that Float >> will result in a loss of precision (hence why they chose that type over >> Double). This means that the floating point bridges for Double, Float, and >> CGFloat should not be the pedantic “exactly” cases but instead infer the >> conversion intent of a lax/approximated version. >> >> So in short: for the betterment of the API ergonomics, the floating point >> types as destinations will be pulled back to their initial Swift 3 behavior. >> >> Additionally to aide appropriate migration to the appropriate >> truncating/exactly initializers the un-labeled, deprecated in Swift 4, plain >> init methods to the numeric types with an NSNumber will now be annotated >> with the suggested replacements. >> >> Thanks for your time and feedback, >> Philippe Hausler >> >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution