[swift-evolution] [Pitch] Importing Objective-C 'id' as Swift 'Any'

T.J. Usiyan griotspeak at gmail.com
Fri Jul 1 18:41:05 CDT 2016

+1 from me

I think that it makes sense since there exists now a possibility for Obj-C
types to come in as types with value semantics.


On Fri, Jul 1, 2016 at 7:37 PM, Joe Groff via swift-evolution <
swift-evolution at swift.org> wrote:

> Hi everyone. After implementing SE-0072, disabling the implicit bridging
> conversions from Swift value types to classes (
> https://github.com/apple/swift-evolution/blob/master/proposals/0072-eliminate-implicit-bridging-conversions.md),
> we immediately observed a severe negative impact on Cocoa interop as our
> users at Apple adapted to the change, forcing us to roll it back.
> `id`-based interfaces are still all over the place in the Cocoa SDKs, but
> it's our goal that Swift programmers should be able to use the value type
> versions of things without being constantly confronted with marshalling in
> and out of their `NS` versions, and this change failed that test for Cocoa
> users. Furthermore, the Foundation corelibs team is interested in
> continuing to adopt more value types and improving the experience of using
> Foundation from Swift without being hamstrung by the limitations of ObjC
> interop. We can address the problem of value-type-to-id interfacing in a
> different way—instead of making it a special case in the type system, we
> can handle it in the Objective-C bridge instead, by bridging Objective-C's
> `id` type to `Any` instead of `AnyObject`. This is a big change, but I
> think it leads to an overall Swiftier and more flexible model. I'm working
> on a proposal to this effect and would like to start getting feedback on
> it. Thanks for taking a look!
> https://github.com/jckarter/swift-evolution/blob/1316004246e45296f81582477d70c22f95ec106c/proposals/XXXX-id-as-any.md
> -Joe
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160701/bb0541e8/attachment.html>

More information about the swift-evolution mailing list