This idea has actually come up before, but ultimately we came to the same 
conclusion as most people here: just because they're isomorphic and fairly 
similar doesn't mean they're really the same type. (For example, we have some 
auto-corrections if you try to use an Optional as a Bool. But if your Optional 
is coincidentally Optional<Void>, suddenly your code is valid! This can happen 
with optional chaining.)

> On Dec 17, 2015, at 11:01 , Pyry Jahkola via swift-evolution 
> <[email protected]> wrote:
> 
> (Possibly related to this is that Bool is a struct and not an enum in Swift.)

We've tossed around the idea of going to an enum now that we actually have 
efficient enum-handling instructions in SIL. I think there's still a bit of 
work to be done there, though.

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

Reply via email to