> On Dec 26, 2015, at 12:31 PM, Joe Groff <jgr...@apple.com> wrote:
> 
>> 
>> On Dec 25, 2015, at 9:02 PM, Philippe Hausler <phaus...@apple.com 
>> <mailto:phaus...@apple.com>> wrote:
>> 
>> > On Dec 22, 2015, at 1:08 PM, Joe Groff via swift-dev <swift-dev at 
>> > swift.org <https://lists.swift.org/mailman/listinfo/swift-dev>> wrote:
>> > 
>> > It looks like the corelibs implementation of CoreFoundation references 
>> > swift_retainCount in order to implement CFGetRetainCount. Is getting the 
>> > retain count necessary to CF functionality, or can these functions be 
>> > removed?
>> 
>> For some reason I was not on this list;
>> So in response to your query about CF’s usage of CFGetRetainCount - I think 
>> we can safely forbid that function in the swift version since there is no 
>> safe way to use it (even CFMachPort is a bit dodgy for it’s usage).
>> 
>> It might take some surgery but I can probably excise that fairly simply.
> 
> That'd be awesome. Thanks Philippe! For CFMachPort's usage, since it's 
> checking for a retainCount of 1, maybe we could use 
> swift_isUniquelyReferenced* instead, which we do need to reliably support for 
> COW.
> 
> -Joe

Actually the method that was being used there is not even compiled on mac 
targets, I was able to safely excise the usage and disallow the function in the 
Swift version of CF. 

I pushed this:
https://github.com/apple/swift-corelibs-foundation/commit/d430c06fe417e285c5b120ccbf1d1082807e3b5c

Which should no longer swift_retainCount in swift-corelibs-foundation builds 
anymore.
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to