[swift-evolution] [swift-evolution-announce] [Review] SE-0076: Add overrides taking an UnsafePointer source to non-destructive copying methods on UnsafeMutablePointer

Joe Groff jgroff at apple.com
Wed May 4 11:18:14 CDT 2016


> On May 3, 2016, at 9:39 PM, Andrew Trick via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On May 3, 2016, at 8:56 PM, Chris Lattner <clattner at apple.com> 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
>> 
>> 	* 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.

-Joe


More information about the swift-evolution mailing list