> On Aug 24, 2016, at 10:00 PM, Xiaodi Wu <[email protected]> wrote:
> 
> On Wed, Aug 24, 2016 at 9:58 PM, Charles Srstka <[email protected] 
> <mailto:[email protected]>> wrote:
>> On Aug 24, 2016, at 9:51 PM, Xiaodi Wu <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> On Wed, Aug 24, 2016 at 9:47 PM, Xiaodi Wu <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Works on Linux :)
>> 
>> And besides, on any platform where `type(of: bar) != NSString`, why should 
>> you expect `bar really_is NSString == true`? Isn't bar *not really* NSString?
> 
> Because the pitch was for a version of ‘is’ which lacks the Objective-C 
> bridging. The ‘is’ keyword matches subclasses of the type you specify as well 
> as the type itself.
> 
> Sorry, I corrected myself :) I neglected the part where you mentioned that 
> __NSCFString is a subclass of NSString (which I forgot was the case). But as 
> you can see, `type(of: bar) is NSString.Type` works just fine :)

Yeah, it does; thanks. I thought that ‘is’ on the type would be compromised in 
the same way as it normally is, so it’s good to know that there’s a way to make 
it honest. I still hate the bridging, and wish that SE-0083 were not apparently 
dead, but grumble grumble grumble, at least there’s a workaround. Is this 
documented anywhere?

Charles

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to