[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