diff --git a/src/cargo/ops/cargo_install.rs b/src/cargo/ops/cargo_install.rs index 0a784780de3..fde665eabf8 100644 --- a/src/cargo/ops/cargo_install.rs +++ b/src/cargo/ops/cargo_install.rs @@ -224,30 +224,22 @@ fn install_one( Some(Filesystem::new(config.cwd().join("target-install"))) }; - let ws = match overidden_target_dir { - Some(dir) => Workspace::ephemeral(pkg, config, Some(dir), false)?, - None => { - let mut ws = Workspace::new(pkg.manifest_path(), config)?; - ws.set_require_optional_deps(false); - ws - } - }; + let ws = Workspace::ephemeral(pkg, config, overidden_target_dir, false)?; let pkg = ws.current()?; if from_cwd { match pkg.manifest().edition() { - Edition::Edition2015 => - config.shell().warn("To build the current package use `cargo build`, to install the current package run `cargo install --path .`")? - , - Edition::Edition2018 => - bail!( - "To build the current package use `cargo build`, \ - to install the current package run `cargo install --path .`, \ - otherwise specify a crate to install from \ - crates.io, or use --path or --git to \ - specify alternate source" - ) - , + Edition::Edition2015 => config.shell().warn( + "To build the current package use `cargo build`, \ + to install the current package run `cargo install --path .`", + )?, + Edition::Edition2018 => bail!( + "To build the current package use `cargo build`, \ + to install the current package run `cargo install --path .`, \ + otherwise specify a crate to install from \ + crates.io, or use --path or --git to \ + specify alternate source" + ), } };