Should either, both or none of these two lines compile?

Let's call the two lines mentioned in the title A and B here:

func f(x: Int, _ y: Int) { print(x + y) }
let aTuple = (1, 2)
f(aTuple) // A
f((1, 2)) // B


f(1, 2) should and does obviously compile, but

should A compile?

should B compile?


Details:


In current Swift (Xcode 7.1 beta 3) one of them compiles and the other fails, which I find impossible to wrap my head around.

So I guess this is a (well known) bug, but I filed 23059991 anyway.


I think both A and B should compile, rather than both being errors. And my unconsidered reasoning/feelings behind this has to do with simplicity/elegancy/flexibility/power related to parameter list types, tuples, function/method calling, etc.


This is an example of a very basic part of the language that is (still!) abstruse rather than clear. If it wasn't for things like this, Swift would be great and we would be very productive and happy using it.

Should either, both or none of these two lines compile?
 
 
Q