[swift-evolution] [Discussion] Zero-element tuple glitch
antonyzhilin at gmail.com
Sun Jul 3 16:47:08 CDT 2016
Vladimir.S via swift-evolution <swift-evolution at ...> writes:
> On 03.07.2016 23:53, Anton Zhilin via swift-evolution wrote:
> > let x = (Int, Int)(1, 2) //=> (1, 2)
> > let y = (Int)(1) //=> 1
> > let z = ()() // error :(
> > Am I requesting too much from type checker?
> As I understand, because () is Void, you can't have anything additional
> it. It is just Void, like you write 'let z = Void Void'. I.e. only 'let
> ()' allowed.
In the example, that's how I expect that to parse:
let z = ().init() // just demo, does not compile
I mean, first () is type, and second () is its initializer.
By the way, this is one thing that Void can do, but () cannot.
Are there any others?
More information about the swift-evolution