Skip to content

Commit

Permalink
Only show advice to use cargo update --precise for non-local packages
Browse files Browse the repository at this point in the history
Packages in the local workspace can't get updated this way; the user
just needs to point to a different source, or otherwise update the
package themselves.
  • Loading branch information
joshtriplett committed Aug 3, 2022
1 parent 0b002e4 commit df6e2cc
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
4 changes: 3 additions & 1 deletion src/cargo/ops/cargo_compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,7 @@ pub fn create_bcx<'a, 'cfg>(
} else {
String::new()
}
} else {
} else if !unit.is_local() {
format!(
"Either upgrade to rustc {} or newer, or use\n\
cargo update -p {}@{} --precise ver\n\
Expand All @@ -678,6 +678,8 @@ pub fn create_bcx<'a, 'cfg>(
unit.pkg.name(),
current_version,
)
} else {
String::new()
};

anyhow::bail!(
Expand Down
5 changes: 1 addition & 4 deletions tests/testsuite/rust_version.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,7 @@ fn rust_version_too_high() {
.with_status(101)
.with_stderr(
"error: package `foo v0.0.1 ([..])` cannot be built because it requires \
rustc 1.9876.0 or newer, while the currently active rustc version is [..]\n\
Either upgrade to rustc 1.9876.0 or newer, or use\n\
cargo update -p foo@0.0.1 --precise ver\n\
where `ver` is the latest version of `foo` supporting rustc [..]",
rustc 1.9876.0 or newer, while the currently active rustc version is [..]\n\n",
)
.run();
p.cargo("build --ignore-rust-version").run();
Expand Down

0 comments on commit df6e2cc

Please sign in to comment.