[swift-evolution] [Discussion] Zero-element tuple glitch
    Anton Zhilin 
    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 
for 
> it. It is just Void, like you write 'let z = Void Void'. I.e. only 'let 
z = 
> ()' 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
mailing list