<div dir="ltr"><div>Does the code below have a well-defined behavior?</div><div><br></div><div><br><div><font face="monospace, monospace">struct Nope: ErrorType {}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">func f(i: Int) throws -&gt; Int {</font></div><div><font face="monospace, monospace">  guard i &lt; 5 else { throw Nope() }</font></div><div><font face="monospace, monospace">  return i</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">do {</font></div><div><font face="monospace, monospace">  let _ = try Array(0 ..&lt; 10).lazy.map(f)</font></div><div><font face="monospace, monospace">  print(&quot;lazy&quot;)</font></div><div><font face="monospace, monospace">} catch (let e) {</font></div><div><font face="monospace, monospace">  print(e)</font></div><div><font face="monospace, monospace">}</font></div></div><div><br></div><div><br></div></div>