> On Jun 28, 2016, at 9:32 AM, Jordan Rose via swift-users > <swift-users@swift.org> wrote: > > >> On Jun 27, 2016, at 18:52, Tim Vermeulen <tvermeu...@me.com> wrote: >> >> Thanks for your reply. It didn’t clear up everything, though. The official >> documentation says "Weak references do not affect the result of this >> function.”, which suggests that weak (and unowned) references intentionally >> aren’t counted. The docs only mention the implementation of copy-on-write >> behaviour as a use case (which also happens to be what I’m using it for). > > I would expect that weak references are important to count for COW, since you > can observe changes through them. Dave?
Passing a weak reference inout goes through a strong optional shadow copy. It wouldn't be safe to directly address the weak reference. -Joe >> >> Couldn’t there just a be a function that returns the reference count of a >> given object as an Int? It would make everything a lot easier (i.e. it >> wouldn’t need inout because it can just create a reference to that object, >> find the reference count, then subtract 1). > > As we’ve said for a long time in Objective-C, asking for the reference count > of an object is meaningless. isUniquelyReferenced only works because it’s > conservative: because it only checks for “exactly 1”, it’s safe from > threading issues and autorelease pools. We do not plan to add a -retainCount > equivalent to Swift. > > Jordan > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users