mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
WIP: don't suggest placing use
statements into expanded code
This commit is contained in:
parent
f9a07bc11b
commit
74748b11bb
@ -605,7 +605,7 @@ impl<'tcx> Visitor<'tcx> for UsePlacementFinder {
|
||||
ItemKind::Use(..) => {
|
||||
// don't suggest placing a use before the prelude
|
||||
// import or other generated ones
|
||||
if item.span == DUMMY_SP {
|
||||
if item.span.ctxt().outer().expn_info().is_none() {
|
||||
self.span = Some(item.span.with_hi(item.span.lo()));
|
||||
self.found_use = true;
|
||||
return;
|
||||
@ -615,7 +615,19 @@ impl<'tcx> Visitor<'tcx> for UsePlacementFinder {
|
||||
ItemKind::ExternCrate(_) => {}
|
||||
// but place them before the first other item
|
||||
_ => if self.span.map_or(true, |span| item.span < span ) {
|
||||
self.span = Some(item.span.with_hi(item.span.lo()));
|
||||
if item.span.ctxt().outer().expn_info().is_none() {
|
||||
// don't insert between attributes and an item
|
||||
if item.attrs.is_empty() {
|
||||
self.span = Some(item.span.with_hi(item.span.lo()));
|
||||
} else {
|
||||
// find the first attribute on the item
|
||||
for attr in &item.attrs {
|
||||
if self.span.map_or(true, |span| attr.span < span) {
|
||||
self.span = Some(attr.span.with_hi(attr.span.lo()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ error[E0423]: expected value, found struct `Z`
|
||||
|
|
||||
help: possible better candidate is found in another module, you can import it into scope
|
||||
|
|
||||
16 | use m::n::Z;
|
||||
22 | use m::n::Z;
|
||||
|
|
||||
|
||||
error[E0423]: expected value, found struct `S`
|
||||
@ -24,7 +24,7 @@ error[E0423]: expected value, found struct `S`
|
||||
|
|
||||
help: possible better candidate is found in another module, you can import it into scope
|
||||
|
|
||||
15 | use m::S;
|
||||
32 | use m::S;
|
||||
|
|
||||
|
||||
error[E0423]: expected value, found struct `xcrate::S`
|
||||
@ -38,7 +38,7 @@ error[E0423]: expected value, found struct `xcrate::S`
|
||||
|
|
||||
help: possible better candidate is found in another module, you can import it into scope
|
||||
|
|
||||
15 | use m::S;
|
||||
32 | use m::S;
|
||||
|
|
||||
|
||||
error[E0603]: tuple struct `Z` is private
|
||||
|
@ -6,7 +6,7 @@ error[E0412]: cannot find type `Path` in this scope
|
||||
|
|
||||
help: possible candidate is found in another module, you can import it into scope
|
||||
|
|
||||
20 | #[derive(use std::path::Path;
|
||||
21 | use std::path::Path;
|
||||
|
|
||||
|
||||
error[E0425]: cannot find value `A` in this scope
|
||||
|
@ -6,7 +6,7 @@ error[E0404]: expected trait, found type parameter `Add`
|
||||
|
|
||||
help: possible better candidate is found in another module, you can import it into scope
|
||||
|
|
||||
11 | use std::ops::Add;
|
||||
13 | use std::ops::Add;
|
||||
|
|
||||
|
||||
error[E0601]: main function not found
|
||||
|
Loading…
Reference in New Issue
Block a user