[Pitch] Fully eliminate implicit bridging conversions in Swift 3


(Anton Zhilin) #1

What bothers me is that it won't be possible to opt into conversions during
imports.
I've created a proposal, which solves all related importing problems:

https://github.com/Anton3/swift-evolution/blob/shadowing-imported-functions/proposals/NNNN-shadowing-imported-functions.md

It passed largely unnoticed, as usual (I'm unlucky), although shadowing
import proposal was requested in a Core team discussion report.
Thank you for paying time!

Overall, +1 to the proposal being discussed. I think that all types should
be imported exactly as written in C/Objective-C, and functions should be
imported using exactly that "foreighn" types.

It's the right time to review importing rules of numerics.
NSInteger should be imported as NSInteger, not as Int.
`size_t` should be imported as UInt, not as Int.
These conversions simplify things, but sometimes the difference matters.

- thank you for paying time, Anton