Skip to content

Commit 0be755c

Browse files
Print the file in which a macro was defined
1 parent f3308b9 commit 0be755c

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/libsyntax/diagnostic.rs

+14-5
Original file line numberDiff line numberDiff line change
@@ -742,11 +742,20 @@ impl EmitterWriter {
742742
// Don't print recursive invocations
743743
if ei.call_site != last_span {
744744
last_span = ei.call_site;
745-
try!(self.print_diagnostic(&cm.span_to_string(ei.call_site), Note,
746-
&format!("in this expansion of {}{}{}",
747-
pre,
748-
ei.callee.name(),
749-
post),
745+
746+
let mut diag_string = format!("in this expansion of {}{}{}",
747+
pre,
748+
ei.callee.name(),
749+
post);
750+
751+
if let Some(def_site_span) = ei.callee.span {
752+
diag_string.push_str(&format!(" (defined in {})",
753+
cm.span_to_filename(def_site_span)));
754+
}
755+
756+
try!(self.print_diagnostic(&cm.span_to_string(ei.call_site),
757+
Note,
758+
&diag_string,
750759
None));
751760
}
752761
Ok(Some(ei.call_site))

0 commit comments

Comments
 (0)