diff --git a/compiler/rustc_resolve/src/diagnostics.rs b/compiler/rustc_resolve/src/diagnostics.rs index 37771693417b3..2f79606e7a45f 100644 --- a/compiler/rustc_resolve/src/diagnostics.rs +++ b/compiler/rustc_resolve/src/diagnostics.rs @@ -2441,10 +2441,9 @@ fn show_candidates( for candidate in accessible_path_strings { msg.push('\n'); - msg.push_str(&candidate.0); + msg.push_str(&format!("use {};", &candidate.0)); } - - err.note(&msg); + err.help(&msg); } } else if !matches!(mode, DiagnosticMode::Import) { assert!(!inaccessible_path_strings.is_empty()); diff --git a/src/test/ui/macros/issue-102601.rs b/src/test/ui/macros/issue-102601.rs new file mode 100644 index 0000000000000..f5886b36367b6 --- /dev/null +++ b/src/test/ui/macros/issue-102601.rs @@ -0,0 +1,13 @@ +mod hey { + pub use std::println as bitflags; +} + +fn main() { + bitflags! { //~ ERROR cannot find macro `bitflags` in this scope + struct Flags: u32 { + const A = 0b00000001; + } + } +} +//~ HELP consider importing this macro: +// use hey::bitflags; diff --git a/src/test/ui/macros/issue-102601.stderr b/src/test/ui/macros/issue-102601.stderr new file mode 100644 index 0000000000000..34991dcafb6a7 --- /dev/null +++ b/src/test/ui/macros/issue-102601.stderr @@ -0,0 +1,11 @@ +error: cannot find macro `bitflags` in this scope + --> $DIR/issue-102601.rs:6:5 + | +LL | bitflags! { + | ^^^^^^^^ + | + = help: consider importing this macro: + use hey::bitflags; + +error: aborting due to previous error +