> On Jun 14, 2017, at 1:47 PM, Dave Abrahams via swift-evolution > <swift-evolution@swift.org> wrote: > > > on Wed Jun 14 2017, Philippe Hausler <swift-evolution@swift.org > <mailto:swift-evolution@swift.org>> wrote: > >> After implementing the proposal >> https://github.com/apple/swift-evolution/blob/master/proposals/0170-nsnumber_bridge.md >> >> <https://github.com/apple/swift-evolution/blob/master/proposals/0170-nsnumber_bridge.md> >> <https://github.com/apple/swift-evolution/blob/master/proposals/0170-nsnumber_bridge.md >> >> <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. > > +1 > >> 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. > > Sorry, I don't quite understand what that last paragraph implies. Could > you describe what will be deprecated and what will be suggested instead?
https://github.com/phausler/swift/commit/62218c85b6c494c4054ec9774dd6ce095a5d0fa4 <https://github.com/phausler/swift/commit/62218c85b6c494c4054ec9774dd6ce095a5d0fa4> So this is just an annotation of renaming to the init(truncating:) > > -- > -Dave > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution