Auto merge of #12573 - eopb:12557-resolver-warning, r=weihanglo

Improve resolver version mismatch warning

fixes: #12557
This commit is contained in:
bors 2023-08-27 20:38:30 +00:00
commit b8df7aa4e8
2 changed files with 11 additions and 3 deletions

View File

@ -1021,11 +1021,18 @@ impl<'cfg> Workspace<'cfg> {
.max() .max()
{ {
let resolver = edition.default_resolve_behavior().to_manifest(); let resolver = edition.default_resolve_behavior().to_manifest();
self.config.shell().warn(format_args!("some crates are on edition {edition} which defaults to `resolver = \"{resolver}\"`, but virtual workspaces default to `resolver = \"1\"`"))?; self.config.shell().warn(format_args!(
"virtual workspace defaulting to `resolver = \"1\"` despite one or more workspace members being on edition {edition} which implies `resolver = \"{resolver}\"`"
))?;
self.config.shell().note( self.config.shell().note(
"to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest", "to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest",
)?; )?;
self.config.shell().note(format_args!("to use the edition {edition} resolver, specify `workspace.resolver = \"{resolver}\"` in the workspace root's manifest"))?; self.config.shell().note(format_args!(
"to use the edition {edition} resolver, specify `workspace.resolver = \"{resolver}\"` in the workspace root's manifest"
))?;
self.config.shell().note(
"for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions",
)?;
} }
} }
} }

View File

@ -1431,9 +1431,10 @@ fn edition_2021_workspace_member() {
p.cargo("check") p.cargo("check")
.with_stderr( .with_stderr(
"\ "\
warning: some crates are on edition 2021 which defaults to `resolver = \"2\"`, but virtual workspaces default to `resolver = \"1\"` warning: virtual workspace defaulting to `resolver = \"1\"` despite one or more workspace members being on edition 2021 which implies `resolver = \"2\"`
note: to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest note: to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = \"2\"` in the workspace root's manifest note: to use the edition 2021 resolver, specify `workspace.resolver = \"2\"` in the workspace root's manifest
note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[CHECKING] a v0.1.0 [..] [CHECKING] a v0.1.0 [..]
[FINISHED] [..] [FINISHED] [..]
", ",