[swift-evolution] [Discussion] Cleaning up stdlib pointer and buffer routines (Open Issues Affecting Standard Library API Stability)

Dave Abrahams dabrahams at apple.com
Fri Jul 8 12:17:27 CDT 2016




on Thu Jul 07 2016, Dave Abrahams <swift-evolution-m3FHrko0VLzYtjvyW6yDsg at public.gmane.org> wrote:

> on Wed Jul 06 2016, Jacob Bandes-Storch <swift-evolution at swift.org> wrote:
>
>>> * *Remove unsafeAddressOf*. "We are not aware of any real use cases for
>>> it. If there are any, it should be renamed to unsafeAddress(of:) to follow
>>> the guidelines." (https://bugs.swift.org/browse/SR-1957
>>> rdar://problem/18589289)
>>>
>>>
>> Oops, I just responded to this on another thread. Pasting:
>>
>> It's minor, but I use unsafeAddressOf regularly for writing `description`
>> methods:
>>
>>     var description: String {
>>         return "<\(self.dynamicType): \(unsafeAddressOf(self))>{ more info
>> here... }"
>>     }
>>
>> I guess this would be covered by some generalized solution for format
>> specifiers in string interpolations, but I gather that won't happen for
>> quite a while...
>
> If we remove unsafeAddressOf, we have no way to get the address of an
> immutable variable.  

I take it back; we already have no way to do that.  unsafeAddressOf,
since it only applies to AnyObject, is totally dispensable.

Today you can do:

  Unmanaged.passUnretained(x).toOpaque()

-- 
Dave



More information about the swift-evolution mailing list