Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-18 Thread Arnold Schwaighofer via swift-evolution
TL;DR: Remove the isUniquelyReferenced(_ object: T) API. All its current use cases can be satisfied equally performant by the isUniquelyReferencedNonObjC(_ object: T) API. This will reduce API surface by both the NonObjectiveCBase class and the isUniquelyReferenced API. I think this is

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-18 Thread Jaden Geller via swift-evolution
Some explanation of the benefit of keeping both `isUniquelyReferencedUnsafe` and `isUniqueReferencedNonObjC` would be useful. I’m not entirely sure why the latter is useful. If it is useful, I’m not sure why we can’t just have `isUniquelyReferencedUnsafe` and `isObjC`. > On Jul 16, 2016, at

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold Schwaighofer via swift-evolution
Updated proposal: Remove NonObjectiveCBase and isUniquelyReferenced Proposal: SE- Author: Arnold Schwaighofer Status: Pitch Review

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold via swift-evolution
Sent from my iPhone > On Jul 16, 2016, at 9:41 PM, Arnold wrote: > > > > Sent from my iPhone > >> On Jul 16, 2016, at 9:23 PM, Andrew Trick wrote: >> >> >>> On Jul 16, 2016, at 9:17 PM, Arnold wrote: >>> >>> >>> >>>

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold via swift-evolution
Sent from my iPhone > On Jul 16, 2016, at 9:23 PM, Andrew Trick wrote: > > >> On Jul 16, 2016, at 9:17 PM, Arnold wrote: >> >> >> >> On Jul 16, 2016, at 8:45 PM, Andrew Trick wrote: >> >>> On Jul 16, 2016, at 8:36 PM,

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Andrew Trick via swift-evolution
> On Jul 16, 2016, at 9:17 PM, Arnold wrote: > > > > On Jul 16, 2016, at 8:45 PM, Andrew Trick > wrote: > >> >>> On Jul 16, 2016, at 8:36 PM, Arnold >> > wrote:

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold via swift-evolution
Sent from my iPhone > On Jul 16, 2016, at 8:45 PM, Andrew Trick wrote: > > >> On Jul 16, 2016, at 8:36 PM, Arnold wrote: >> >> Thank you for the feedback. Answers online. >> >> Sent from my iPhone >> >>> On Jul 16, 2016, at 7:38 PM, Andrew Trick

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Andrew Trick via swift-evolution
> On Jul 16, 2016, at 8:36 PM, Arnold wrote: > > Thank you for the feedback. Answers online. > > Sent from my iPhone > > On Jul 16, 2016, at 7:38 PM, Andrew Trick > wrote: > >> >>> On Jul 16, 2016, at 6:46 PM, Arnold

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold via swift-evolution
Thank you for the feedback. Answers online. Sent from my iPhone > On Jul 16, 2016, at 7:38 PM, Andrew Trick wrote: > > >> On Jul 16, 2016, at 6:46 PM, Arnold Schwaighofer via swift-evolution >> wrote: >> >> Replace isUniquelyReferenced by >>

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Andrew Trick via swift-evolution
> On Jul 16, 2016, at 6:46 PM, Arnold Schwaighofer via swift-evolution > wrote: > > Replace isUniquelyReferenced by > isUniquelyReferencedUnsafe and remove the NonObjectiveCBase > class from the standard library. > > So we’ll have: -

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold Schwaighofer via swift-evolution
Thank you Dmitri for your feedback. Updated draft below. https://github.com/aschwaighofer/swift-evolution/blob/remove_nonobjectivecbase/proposals/-remove-nonobjectivecbase.md Remove NonObjectiveCBase and replace isUniquelyReferenced by isUniquelyReferencedUnsafe Proposal: SE-

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold via swift-evolution
`isUniqueReferencedNonObjC` is useful if our storage could be other a native Swift class or an objective-c class instance. An example of this is Array's storage: It could either be a native Swift class instance or if the array was bridged from cocoa an NSArray instance. Before we write to the

Re: [swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Dmitri Gribenko via swift-evolution
On Sat, Jul 16, 2016 at 12:47 PM, Arnold Schwaighofer via swift-evolution wrote: > ## Proposed solution > > Replace `isUniquelyReferenced` by > `isUniquelyReferencedUnsafe` and remove the `NonObjectiveCBase` > class from the standard library. Thank you for this

[swift-evolution] Pitch: Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe`

2016-07-16 Thread Arnold Schwaighofer via swift-evolution
https://bugs.swift.org/browse/SR-1962 # Remove `NonObjectiveCBase` and replace `isUniquelyReferenced` by `isUniquelyReferencedUnsafe` ## Introduction Remove `NonObjectiveCBase` and replace`isUniquelyReferenced(_ object: T)` by `isUniquelyReferencedUnsafe(_ object: T)`. This will remove