Rollup merge of #115630 - compiler-errors:dont-suggest-use-btw-use-and-attr, r=wesleywiser
Dont suggest use between `use` and cfg attr Fixes #115618
This commit is contained in:
commit
b33ac52106
@ -2753,7 +2753,13 @@ fn search_for_any_use_in_items(items: &[P<ast::Item>]) -> Option<Span> {
|
||||
for item in items {
|
||||
if let ItemKind::Use(..) = item.kind {
|
||||
if is_span_suitable_for_use_injection(item.span) {
|
||||
return Some(item.span.shrink_to_lo());
|
||||
let mut lo = item.span.lo();
|
||||
for attr in &item.attrs {
|
||||
if attr.span.eq_ctxt(item.span) {
|
||||
lo = std::cmp::min(lo, attr.span.lo());
|
||||
}
|
||||
}
|
||||
return Some(Span::new(lo, lo, item.span.ctxt(), item.span.parent()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
// run-rustfix
|
||||
// compile-flags: --cfg=whatever -Aunused
|
||||
|
||||
use y::z;
|
||||
#[cfg(whatever)]
|
||||
use y::Whatever;
|
||||
|
||||
mod y {
|
||||
pub(crate) fn z() {}
|
||||
pub(crate) struct Whatever;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
z();
|
||||
//~^ ERROR cannot find function `z` in this scope
|
||||
}
|
15
tests/ui/resolve/suggest-import-without-clobbering-attrs.rs
Normal file
15
tests/ui/resolve/suggest-import-without-clobbering-attrs.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// run-rustfix
|
||||
// compile-flags: --cfg=whatever -Aunused
|
||||
|
||||
#[cfg(whatever)]
|
||||
use y::Whatever;
|
||||
|
||||
mod y {
|
||||
pub(crate) fn z() {}
|
||||
pub(crate) struct Whatever;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
z();
|
||||
//~^ ERROR cannot find function `z` in this scope
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
error[E0425]: cannot find function `z` in this scope
|
||||
--> $DIR/suggest-import-without-clobbering-attrs.rs:13:5
|
||||
|
|
||||
LL | z();
|
||||
| ^ not found in this scope
|
||||
|
|
||||
help: consider importing this function
|
||||
|
|
||||
LL + use y::z;
|
||||
|
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
Loading…
x
Reference in New Issue
Block a user