> On May 4, 2016, at 9:40 AM, Jordan Rose <[email protected]> wrote: > >> >> On May 4, 2016, at 09:18, Joe Groff via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >> >>> >>> On May 3, 2016, at 9:39 PM, Andrew Trick via swift-evolution >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> >>>> On May 3, 2016, at 8:56 PM, Chris Lattner <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Hello Swift community, >>>> >>>> The review of "SE-0076: Add overrides taking an UnsafePointer source to >>>> non-destructive copying methods on UnsafeMutablePointer" begins now and >>>> runs through May 9. The proposal is available here: >>>> >>>> >>>> https://github.com/apple/swift-evolution/blob/master/proposals/0076-copying-to-unsafe-mutable-pointer-with-unsafe-pointer-source.md >>>> >>>> <https://github.com/apple/swift-evolution/blob/master/proposals/0076-copying-to-unsafe-mutable-pointer-with-unsafe-pointer-source.md> >>>> >>>> * What is your evaluation of the proposal? >>> >>> The new methods are needed, but they don’t need to be overloads. I have no >>> idea why the argument type was originally declared Mutable. >>> >>> func assignBackwardFrom(source: UnsafePointer<Pointee>, count: Int >>> ) >>> >>> func assignFrom(source: UnsafePointer<Pointee>, count: Int >>> ) >>> >>> func initializeFrom(source: UnsafePointer<Pointee>, count: Int) >>> >>> FWIW: I made precisely this change a while back on an experimental branch >>> while experimenting with UnsafePointer conversion. I don’t see a problem >>> with it. >>> >>> Implicit argument conversion from UnsafeMutablePointer<Pointee> to >>> UnsafePointer<Pointee> is normal and extremely obvious. >> >> Yeah, Andy's approach seems cleaner than overloading. > > :-( …but it’s an implicit conversion. Which we’re trying to expunge from the > language. (Sort of.)
I’ve heard exactly the opposite argument recently. Namely that explicit UnsafePointer construction indicates an “unsafe” cast (I personally don’t agree with that argument though). Tangential: Which of our current implicit conversions are considered bad? I can’t think of a good alternative, particularly for String/Array to UnsafePointer. -Andy
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
