<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">That does sound like a bug to me. Can you make a self-contained test case and file at <a href="https://bugs.swift.org/" class="">https://bugs.swift.org/</a>&nbsp;?</div><div class=""><br class=""></div><div class="">Thanks!</div><div class="">Jordan</div><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 29, 2017, at 14:00, Marco S Hyman via swift-users &lt;<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">This macOS code in Xcode 8.3.3:<br class=""><br class=""> &nbsp;&nbsp;&nbsp;if !fileManager.fileExists(atPath: (saveFileURL.path)) {<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do {<br class="">1 ==&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try fileManager.linkItem(atPath: url.path, toPath: saveFileURL.path)<br class="">2 ==&gt; &nbsp;&nbsp;} catch {<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// couldn't create hard link, copy file instead<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do {<br class="">3 ==&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try fileManager.copyItem(at: url, to: saveFileURL)<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch let error as NSError {<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unexpected(error: error,<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Cannot copy \(url.path) to \(saveFileURL.path)\n\nReason: ")<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br class=""> &nbsp;&nbsp;&nbsp;}<br class=""> &nbsp;&nbsp;&nbsp;return true<br class=""><br class=""><br class="">lldb tells me the code at 1 fails. &nbsp;That was expected. &nbsp;The app is sandboxed and the security bookmark code that gives access to the destination is in flux. &nbsp;lldb says control transfers to 2 then falls into the do block containing 3.<br class=""><br class="">The code at 3 fails for the same reason. &nbsp;This is when the unexpected occurred. &nbsp;lldb says that control transferred to 2 then to the end of the if statement where the function returns true. &nbsp;The catch following the do containing the function “unexpected” is not entered.<br class=""><br class="">Is that a bug?<br class=""><br class="">As for why 1 uses path instead of URL an older version of the code had this note.<br class=""><br class="">// linkItemAtURL fails trying to link foo.jpg_original to somedir/foo.jpg.<br class=""><br class=""><br class="">_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-users<br class=""></div></div></blockquote></div><br class=""></body></html>