about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorJonas Schievink <jonas@schievink.net>2015-09-10 22:25:28 +0200
committerJonas Schievink <jonas@schievink.net>2015-09-10 22:25:28 +0200
commit31fa44b18e6e8bd42630d6495823ade6a5adaeba (patch)
tree91fd59cafc990ba7dadc89843f17b747fe9a3b8f /src/libsyntax
parent49d8b0dcbef738b70f08b6648bb7c358b491f47c (diff)
downloadrust-31fa44b18e6e8bd42630d6495823ade6a5adaeba.tar.gz
rust-31fa44b18e6e8bd42630d6495823ade6a5adaeba.zip
Don't print the macro definition site in backtraces
This halves the backtrace length. The definition site wasn't very useful
anyways, since it may be invalid (for compiler expansions) or located in
another crate. Since the macro name is still printed, grepping for it is
still an easy way of finding the definition.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/diagnostic.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs
index 1924368a7f5..c383f26b4e3 100644
--- a/src/libsyntax/diagnostic.rs
+++ b/src/libsyntax/diagnostic.rs
@@ -732,21 +732,17 @@ impl EmitterWriter {
             sp_opt = try!(cm.with_expn_info(sp.expn_id, |expn_info| -> io::Result<_> {
                 match expn_info {
                     Some(ei) => {
-                        let ss = ei.callee.span.map_or(String::new(),
-                                                       |span| cm.span_to_string(span));
                         let (pre, post) = match ei.callee.format {
                             codemap::MacroAttribute(..) => ("#[", "]"),
                             codemap::MacroBang(..) => ("", "!"),
                             codemap::CompilerExpansion(..) => ("", ""),
                         };
-                        try!(self.print_diagnostic(&ss, Note,
-                                                   &format!("in expansion of {}{}{}",
+                        try!(self.print_diagnostic(&cm.span_to_string(ei.call_site), Note,
+                                                   &format!("in this expansion of {}{}{}",
                                                             pre,
                                                             ei.callee.name(),
                                                             post),
                                                    None));
-                        let ss = cm.span_to_string(ei.call_site);
-                        try!(self.print_diagnostic(&ss, Note, "expansion site", None));
                         Ok(Some(ei.call_site))
                     }
                     None => Ok(None)