about summary refs log tree commit diff
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2015-01-09 19:41:20 +0530
committerManish Goregaokar <manishsmail@gmail.com>2015-01-09 19:41:20 +0530
commit4a7b710031de43c2d126ea42ac5f8b9c23201803 (patch)
tree29c514e93db74e336ced6c849b6577c9249451ef
parent8c6bd81196593c3851fe4f6f99f8b4cc5ffb6588 (diff)
downloadrust-4a7b710031de43c2d126ea42ac5f8b9c23201803.tar.gz
rust-4a7b710031de43c2d126ea42ac5f8b9c23201803.zip
Fix checking of command line expansion spans (fixes #20747)
-rw-r--r--src/libsyntax/diagnostic.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs
index 64fdb61f2ec..3f81dac2b0d 100644
--- a/src/libsyntax/diagnostic.rs
+++ b/src/libsyntax/diagnostic.rs
@@ -13,7 +13,7 @@ pub use self::RenderSpan::*;
 pub use self::ColorConfig::*;
 use self::Destination::*;
 
-use codemap::{COMMAND_LINE_SP, Pos, Span};
+use codemap::{COMMAND_LINE_SP, COMMAND_LINE_EXPN, Pos, Span};
 use codemap;
 use diagnostics;
 
@@ -393,7 +393,10 @@ impl Emitter for EmitterWriter {
 fn emit(dst: &mut EmitterWriter, cm: &codemap::CodeMap, rsp: RenderSpan,
         msg: &str, code: Option<&str>, lvl: Level, custom: bool) -> io::IoResult<()> {
     let sp = rsp.span();
-    let ss = if sp == COMMAND_LINE_SP {
+
+    // We cannot check equality directly with COMMAND_LINE_SP
+    // since PartialEq is manually implemented to ignore the ExpnId
+    let ss = if sp.expn_id == COMMAND_LINE_EXPN {
         "<command line option>".to_string()
     } else {
         cm.span_to_string(sp)