diff options
Diffstat (limited to 'compiler/rustc_resolve/src')
| -rw-r--r-- | compiler/rustc_resolve/src/lib.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler/rustc_resolve/src/lib.rs b/compiler/rustc_resolve/src/lib.rs index 300d2c01cb5..c36aa91a5e8 100644 --- a/compiler/rustc_resolve/src/lib.rs +++ b/compiler/rustc_resolve/src/lib.rs @@ -330,15 +330,15 @@ impl UsePlacementFinder { if self.span.map_or(true, |span| item.span < span) && !item.span.from_expansion() { + self.span = Some(item.span.shrink_to_lo()); // don't insert between attributes and an item - if item.attrs.is_empty() { - self.span = Some(item.span.shrink_to_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.shrink_to_lo()); - } + // find the first attribute on the item + // FIXME: This is broken for active attributes. + for attr in &item.attrs { + if !attr.span.is_dummy() + && self.span.map_or(true, |span| attr.span < span) + { + self.span = Some(attr.span.shrink_to_lo()); } } } |
