[swift-evolution] [Proposal] Move public AutoreleasingUnsafeMutablePointer API from StdlibCore -> Objective C Overlay

Ben Rimmington me at benrimmington.com
Fri Jul 22 13:05:11 CDT 2016


> On 21 Jul 2016, at 18:02, Michael Gottesman wrote:
> 
> This is a proposal to move AutoreleasingUnsafeMutablePointer from StdlibCore to the Objective C overlay. The reason to do this is that ideally StdlibCore would not have any code specific to ObjC in it. This is a small step that we can take in this direction by moving the public API of AutoreleasingUnsafeMutablePointer to the ObjC overlay. The way that this would be done is that the implementation for AutoreleasingUnsafeMutablePointer would remain in StdlibCore, but we would add an underscore to make that API private to the standard library. Then inside the ObjC overlay, we would create a typealias to the internal API with the non-underscored name (i.e. make the typealias the public API). Then at a later point in time we can move the implementation. The reason why I am not proposing to move the implementation today is that there are dependencies in Array/Hashed Collections on AutoreleasingUnsafeMutablePointer. Moving that code is a larger project that is preconditioned on this proposal going in first as an incremental step.

If you want to move APIs which aren't cross-platform out of stdlib, should there be a similar proposal for the PlaygroundQuickLook enum and CustomPlaygroundQuickLookable protocol?

<https://github.com/apple/swift/blob/master/stdlib/public/core/Mirror.swift>

<https://github.com/apple/swift-xcode-playground-support>

-- Ben



More information about the swift-evolution mailing list