about summary refs log tree commit diff
path: root/compiler/rustc_span/src/source_map.rs
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2021-01-07 16:44:08 -0800
committerEsteban Küber <esteban@kuber.com.ar>2021-01-07 16:52:44 -0800
commit9a5dcaab673b5b5a2842b689daeb0b2968fec476 (patch)
tree12017f0f4ef9df5dfc0a9195f2ceb659bf678395 /compiler/rustc_span/src/source_map.rs
parentc8915eebeaaef9f7cc1cff6ffd97f578b03c2ac9 (diff)
downloadrust-9a5dcaab673b5b5a2842b689daeb0b2968fec476.tar.gz
rust-9a5dcaab673b5b5a2842b689daeb0b2968fec476.zip
Use correct span for structured suggestion
On structured suggestion for `let` -> `const`  and `const` -> `let`, use
a proper `Span` and update tests to check the correct application.

Follow up to #80012.
Diffstat (limited to 'compiler/rustc_span/src/source_map.rs')
-rw-r--r--compiler/rustc_span/src/source_map.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_span/src/source_map.rs b/compiler/rustc_span/src/source_map.rs
index fefc0cb48dd..6635d44496c 100644
--- a/compiler/rustc_span/src/source_map.rs
+++ b/compiler/rustc_span/src/source_map.rs
@@ -671,7 +671,9 @@ impl SourceMap {
             let pat = pat.to_owned() + ws;
             if let Ok(prev_source) = self.span_to_prev_source(sp) {
                 let prev_source = prev_source.rsplit(&pat).next().unwrap_or("").trim_start();
-                if !prev_source.is_empty() && (!prev_source.contains('\n') || accept_newlines) {
+                if prev_source.is_empty() && sp.lo().0 != 0 {
+                    return sp.with_lo(BytePos(sp.lo().0 - 1));
+                } else if !prev_source.contains('\n') || accept_newlines {
                     return sp.with_lo(BytePos(sp.lo().0 - prev_source.len() as u32));
                 }
             }