Perhaps you could write up a proposal to outline the missing functionality :-)

Slava

> On Oct 24, 2017, at 3:09 PM, Jonathan Hull <jh...@gbis.com> wrote:
> 
> I would feel better about it if String gained a lot of the utility of 
> NSString (so that we don’t have to go to NSString all the time for methods)
> 
> Thanks,
> Jon
> 
>> On Oct 24, 2017, at 3:00 PM, Slava Pestov via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> Hi,
>> 
>> Members of NSString, except those defined in Foundation, are available on 
>> values of type String. For example,
>> 
>> extension NSString {
>> @objc func foo() {}
>> }
>> 
>> let s: String = “hello”
>> 
>> s.foo()
>> 
>> We don’t do this for any other bridged types, for instance NSArray methods 
>> are not imported as Array methods. It’s literally a special case in the type 
>> checker for member lookup on String.
>> 
>> This behavior doesn’t really much sense conceptually and it was put in as a 
>> stop-gap in Swift 1 to beef up the String API. I would like to phase it out 
>> as follows:
>> 
>> - Unconditional warning in Swift 4.1, with a fixit to insert an ‘as 
>> NSString’ cast
>> - Error in Swift 5 with -swift-version 5
>> 
>> What does everyone think about this?
>> 
>> Slava
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to