<div dir="ltr">I’ll mention this here since it’s related to tuples and optionals. Starting with this setup:<div><br></div><div><font face="monospace, monospace">var x, y: Int?<br></font></div><div><font face="monospace, monospace">func f() -&gt; (Int, Int) { return (0, 1) }</font></div><div><br></div><div>This fails to compile:</div><div><br></div><div><font face="monospace, monospace">(x, y) = f()  // Error: Cannot express tuple conversion &#39;(Int, Int)&#39; to &#39;(Int?, Int?)&#39;</font></div><div><br></div><div>But this works fine:</div><div><br></div><div><font face="monospace, monospace">func g() -&gt; Int { return 2 }</font></div><div><font face="monospace, monospace">(x, y) = (g(), g())</font></div><div><br></div><div>What is going on, why does the first one fail, and is this a bug or does it need a proposal to fix?</div><div><br></div><div>Nevin</div></div>