about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2019-05-29 00:27:42 +0300
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2019-05-29 00:27:42 +0300
commit95013e612d3ffaee2b674da4a29308aaa7551726 (patch)
treedb1a812bfa27de8a203a9aed19872e87d21015a7 /src/libsyntax
parent3e5beb2c6f168b29f4a86c0d2a3e1c5e717d9389 (diff)
downloadrust-95013e612d3ffaee2b674da4a29308aaa7551726.tar.gz
rust-95013e612d3ffaee2b674da4a29308aaa7551726.zip
syntax: bail out of `find_width_of_character_at_span` if the span doesn't start and end in the same file.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/source_map.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libsyntax/source_map.rs b/src/libsyntax/source_map.rs
index 8a210db9185..e2171a84e23 100644
--- a/src/libsyntax/source_map.rs
+++ b/src/libsyntax/source_map.rs
@@ -727,6 +727,11 @@ impl SourceMap {
         debug!("find_width_of_character_at_span: local_begin=`{:?}`, local_end=`{:?}`",
                local_begin, local_end);
 
+        if local_begin.sf.start_pos != local_end.sf.start_pos {
+            debug!("find_width_of_character_at_span: begin and end are in different files");
+            return 1;
+        }
+
         let start_index = local_begin.pos.to_usize();
         let end_index = local_end.pos.to_usize();
         debug!("find_width_of_character_at_span: start_index=`{:?}`, end_index=`{:?}`",