mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +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(..) => {
|
ItemKind::Use(..) => {
|
||||||
// don't suggest placing a use before the prelude
|
// don't suggest placing a use before the prelude
|
||||||
// import or other generated ones
|
// 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.span = Some(item.span.with_hi(item.span.lo()));
|
||||||
self.found_use = true;
|
self.found_use = true;
|
||||||
return;
|
return;
|
||||||
@ -615,7 +615,19 @@ impl<'tcx> Visitor<'tcx> for UsePlacementFinder {
|
|||||||
ItemKind::ExternCrate(_) => {}
|
ItemKind::ExternCrate(_) => {}
|
||||||
// but place them before the first other item
|
// but place them before the first other item
|
||||||
_ => if self.span.map_or(true, |span| item.span < span ) {
|
_ => 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
|
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`
|
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
|
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`
|
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
|
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
|
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
|
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
|
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
|
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
|
error[E0601]: main function not found
|
||||||
|
Loading…
Reference in New Issue
Block a user