You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Convert a multi-part diagnostic to a report (#16035)
### What does this PR try to resolve?
This converts a `shell.warn()` followed by several `shell.note()`s into
a single `shell.print_report()`.
This is just to check whether I correctly understood the conversation in
office hours. If so, I can do a bunch more of these.
let resolver = edition.default_resolve_behavior().to_manifest();
1141
-
self.gctx.shell().warn(format_args!(
1142
-
"virtual workspace defaulting to `resolver = \"1\"` despite one or more workspace members being on edition {edition} which implies `resolver = \"{resolver}\"`"
1143
-
))?;
1144
-
self.gctx.shell().note(
1145
-
"to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest",
1146
-
)?;
1147
-
self.gctx.shell().note(format_args!(
1148
-
"to use the edition {edition} resolver, specify `workspace.resolver = \"{resolver}\"` in the workspace root's manifest"
1149
-
))?;
1150
-
self.gctx.shell().note(
1151
-
"for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions",
1152
-
)?;
1142
+
let report = &[Level::WARNING
1143
+
.primary_title(format!(
1144
+
"virtual workspace defaulting to `resolver = \"1\"` despite one or more workspace members being on edition {edition} which implies `resolver = \"{resolver}\"`"
1145
+
))
1146
+
.elements([
1147
+
Level::NOTE.message("to keep the current resolver, specify `workspace.resolver = \"1\"` in the workspace root's manifest"),
1148
+
Level::NOTE.message(
1149
+
format!("to use the edition {edition} resolver, specify `workspace.resolver = \"{resolver}\"` in the workspace root's manifest"),
1150
+
),
1151
+
Level::NOTE.message("for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions"),
0 commit comments