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

Jordan Rose jordan_rose at apple.com
Wed May 4 11:40:42 CDT 2016


> On May 4, 2016, at 09:18, Joe Groff via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> 
>> 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.

:-( …but it’s an implicit conversion. Which we’re trying to expunge from the language. (Sort of.)

Jordan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160504/c5d58108/attachment.html>


More information about the swift-evolution mailing list