> On Feb 28, 2017, at 11:04 AM, Joe Groff via swift-evolution 
> <[email protected]> wrote:
> 
> 
>> On Feb 27, 2017, at 4:34 PM, Rex Fenley via swift-evolution 
>> <[email protected]> wrote:
>> 
>> I often find myself running into situations where I'll receive "Ambiguous 
>> use of..." for overloaded functions or operators. In every case these 
>> situations would be easily solved if I could specify "Generic != 
>> CertainType" in the where clause of one of the overloads so I can 
>> disambiguate the cases. Could this be added to language?
> 
> Do you have a concrete example where you need this? It'd be good to know 
> whether the types are ambiguous due to type checker bugs, or whether there's 
> a principle by which they could be naturally ordered. Instead of overloading, 
> can you do the type test via `if !(x is CertainType)` within a single 
> implementation?

The best use case I can think of is if we had enum cases where the associated 
value is a subtype of the enum:

enum Result<T, E> where E: Error, T != E {
    case some(T) -> T
    case error(E) -> E
}

> 
> -Joe
> 
> 
> _______________________________________________
> 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