We can disallow putting types in parentheses in single-element tuple meaning.<div>For example, (Int) -> (Double) will be illegal because of (Double).</div><div>(Int) -> (Double) -> Bool will be legal, because parentheses mean function type here.</div><div>(Int) -> () will be legal, because () means Void here.</div><div>This can be theme of a separate proposal.</div><div><br></div><div>- Anton</div><div><div><br></div>On 22.04.16, Vladimir.S wrote:<br><div><pre style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961); -webkit-text-size-adjust: auto;"><pre>What I really don't like is that we can have all this:
func f1() -> (Void) {..}
func f2(Void) -> ((Void)) {..}
func f3() -> (((()))) {..}
func f4(((Void))) -> (Void) {..}
func f5() -> ((Void)) {..}
func f6((())) -> (((()))) {..}
and all is equivalent for
func f() -> () {..}<br></pre></pre></div></div>