From 31fa44b18e6e8bd42630d6495823ade6a5adaeba Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Thu, 10 Sep 2015 22:25:28 +0200 Subject: 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. --- src/libsyntax/diagnostic.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/libsyntax') 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) -- cgit 1.4.1-3-g733a5