+1, it's currently really non-obvious where these automatic bridges are happening which keeps costing me time.
> On 24 Oct 2017, at 11:00 pm, Slava Pestov via swift-evolution > <[email protected]> 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 > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
