> Joe also referred to the following model in a thread about Typed Throws.
> 
>    () -> () == () throws Never -> ()
>    () throws -> () == () throws Error -> ()
That makes sense! As a bottom type it would be perfectly fit for this.

> On 15 May 2017, at 03:01, Robert Widmann <devteam.cod...@gmail.com> wrote:
> 
> Though our type lattice doesn’t necessarily have a bottom in the way you’re 
> looking for, you can use Never-returning functions to inhabit a combinator 
> that will do this for you.
Very useful.
What do you think of [] as [Never], or nil as Optional<Never>. Can the current 
inference and subtyping rules deal with that? 
If it can there are very interesting things to be done in order to help the 
developper fill up those placeholders. Typically, the compiler could compute 
the expected type of a placeholder and IDEs could show this to the user. For 
example alt-click on undefined could display 
`func undefined() -> Never. Expected: Int`
(Of course this get horribly complex when the compiler needs to compute the 
lowest upper bound of an intersection of types)


> On 15 May 2017, at 02:04, Xiaodi Wu <xiaodi...@gmail.com> wrote:
> 
> Clearly many uses for this; would like to see it some day, definitely. 
> However, IIRC, the last day for any _code_ to be incorporated in Swift 4 is 
> June 1. There's simply no chance that this can be considered for the current 
> phase of Swift evolution.
Not a problem, I do no think it is necessary to rush out this feature. But I 
really wanted to see if it is something that other people here consider useful. 
I am glad to see that it’s the case. What would be a good timing for a proposal 
on this matter?
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to