<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">The review of SE-0179 "Swift run Command" ran from May 15...24, 2017. The proposal has been <b class="">accepted with revision</b> for Swift 4.<div class=""><br class=""></div><div class="">There was unanimous support for the proposal in general, but there was discussion on three major points:</div><div class="">1. The utility of having both "run -- ..." and "run command arg1 arg2" forms.</div><div class="">2. Whether to build by default.</div><div class="">3. The confusion of having two commands which "change the working directory'.</div><div class=""><br class=""></div><div class="">1. The `--` command syntax.</div><div class=""><br class=""></div><div class="">We decided we <b class="">will not</b> support the:</div><div class=""> swift run -- arg1 arg2 arg3</div><div class="">syntax, for packages with only one executable, because we felt it was not sufficiently useful versus spelling the command name, and we didn't want to unnecessarily have two ways to do the same thing. This behavior would be additive if it proved to be worth adding down the road.</div><div class=""><br class=""></div><div class="">We <b class="">will</b> support the no argument `swift run` form in the proposal, since it is unambiguous.</div><div class=""><br class=""></div><div class="">2. Whether to build by default.</div><div class=""><br class=""></div><div class="">This behavior is consistent with our existing behavior for `swift test`, and so we believe this is the correct behavior for this proposal.</div><div class=""><br class=""></div><div class="">3. The confusion over the `--chdir` and `--in-dir` arguments.</div><div class=""><br class=""></div><div class="">We agreed with the feedback that this was confusing, and so decided to:</div><div class="">* Rename the existing `--chdir` argument to `--package-path` and change it to simply define the package to work on instead of as a side effect of changing directories. We chose --package-path over --package to leave room for `--package <NAME>` syntax in the future, should we have an index. We will make this change and deprecate `--chdir` in Swift 4, and remove it at a later date.</div><div class="">* Remove the `--in-dir` argument, and instead leave it up to commands themselves to manage interaction with the working directory.</div><div class="">* Explicitly specify the behavior of `swift run` to <i class="">always</i> execute the command <i class="">in the directory from with `swift run` was run</i>.</div><div class=""><br class=""></div><div class="">In combination, these choices allow `swift run foo ...` to generally behave <i class="">as it would</i> if the package's products had been built, installed, and run via the shell normally. We believe this allows `swift run ...` to integrate with the shell as naturally as possible.</div><div class=""><br class=""></div><div class="">Thank you to everyone who participated!</div><div class=""><br class=""></div><div class="">Daniel Dunbar</div><div class="">Review Manager</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>