[swift-evolution] [swift-evolution-announce] [Review] SE-0125: Remove NonObjectiveCBase and isUniquelyReferenced
dabrahams at apple.com
Wed Jul 20 09:24:17 CDT 2016
on Wed Jul 20 2016, Brent Royal-Gordon <swift-evolution at swift.org> wrote:
>> On Jul 20, 2016, at 6:53 AM, Dave Abrahams <dave at boostpro.com> wrote:
>> There is; it's basically impossible to implement reliably given the
>> state of Objective-C reference-counting. I'll let Greg Parker explain
>> the details, as he has many times to me (but I don't retain them as well
>> as he does).
> I don't necessarily need to know them (although I'd be curious to hear).
> I think something that implies the possibility of false negatives,
> like `isKnownUniquelyReferenced(_:)` or (flipping the sense of the
> return value) `mayBeShared(_:)`, is probably the best strategy. Or, if
> COW is the only use case we want to support,
It's not the only use case for ManagedBuffer[Pointer], if that's what
> we could even call it something along the lines of
> `needsCopyBeforeMutating(_:)`, which would strongly imply it was
> unsuitable for any other purpose.
More information about the swift-evolution