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

Dave Abrahams dabrahams at apple.com
Thu Jul 21 12:32:26 CDT 2016

on Thu Jul 21 2016, Michael Gottesman <swift-evolution at swift.org> wrote:

> Hello everyone.
> 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. 


To avoid confusion among reviewers, I feel I need to point out that
everything below this point is implementation detail that IMO has no
relevance to the evolution list.

> 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.

I am not confident that we will ever be able to move that code, but as I
said before, that's really irrelevant here.  Let's do it!


More information about the swift-evolution mailing list