It’s already on that list. That’s what Joe was quoting from earlier.

Everybody (I hope) understands the “something the type system cannot […] 
support” part, but if the “should not” bit were expanded a bit so that people 
would know why it shouldn’t be supported…

The closest I ever saw to a reason was a reply from back in the “Contiguous 
Variables (A.K.A. Fixed Sized Array Type)” thread 
(http://article.gmane.org/gmane.comp.lang.swift.evolution/6363)

> Types aren't just bags of operations, which means that taking the 
> intersection of arbitrary types isn't meaningful. Similarly, generics aren't 
> templates to be instantiated, meaning that there has to be a run-time 
> representation of a "value of intersection type".
> 
> The constructs that carries the right meaning in Swift are protocols, and in 
> theory you could intersect the protocols of the various types. In practice, 
> though, the current model doesn't have a good way to actually do this, since 
> not all protocols can be used as types of values, and finding the 
> protocol-intersection of N types is a needless amount of extra work for the 
> compiler anyway.

Which, at least to me, isn’t very convincing. In the author’s defense, I don’t 
think the post was intended to be a rigorous rebuttal of the idea.

- Dave Sweeris

> On Jul 1, 2016, at 12:47 PM, L. Mihalkovic via swift-evolution 
> <[email protected]> wrote:
> 
> @core team: should the be added to the list of common rejections for now or 
> does it stand a chance in the next 2 or 3 versions?
> 
> Regards
> LM
> (From mobile)
> 
> On Jul 1, 2016, at 11:06 AM, Cao Jiannan via swift-evolution 
> <[email protected] <mailto:[email protected]>> wrote:
> 
>> https://github.com/frogcjn/swift-evolution/blob/master/proposals/xxxx-union-type.md
>>  
>> <https://github.com/frogcjn/swift-evolution/blob/master/proposals/xxxx-union-type.md>
>> 
>> Hi,
>> 
>> I'm now officially proposal the union type feature for Swift. Please see:
>> 
>> 
>> https://github.com/apple/swift/commit/eb7311de065df7ea332cdde8782cb44f9f4a5121
>>  
>> <https://github.com/apple/swift/commit/eb7311de065df7ea332cdde8782cb44f9f4a5121>
>> Introduction
>> 
>> Add union type grammar, represents the type which is one of other types.
>> 
>> var stringOrURL: String | URL = "https://www.apple.com 
>> <https://www.apple.com/>"
>> 
>> 
>> I would be thankful if someone support this idea and give some advice. 
>> Thanks!
>> 
>> 
>> --
>> Jiannan
>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> 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

Reply via email to