about summary refs log tree commit diff
path: root/src/libsyntax/ext/tt
diff options
context:
space:
mode:
authorTim Neumann <mail@timnn.me>2017-09-17 13:19:00 +0200
committerGitHub <noreply@github.com>2017-09-17 13:19:00 +0200
commitbc638b8635a1a6183d891f28d1edb573efb8e4d0 (patch)
tree488e67b2b8b68b5eda38f6f24bbce557388493c6 /src/libsyntax/ext/tt
parenta0edcb4b0384db91f159a9f8c77db3fbd098b2db (diff)
parent0a2c95b6eb4ef40be166cc690bf2f4f00e37d7c5 (diff)
Rollup merge of #44088 - bjorn3:better_trace_macros, r=jseyfried
Fix "new trace_macros doesn't work if there's an error during expansion"

Fixes #43493
Diffstat (limited to 'src/libsyntax/ext/tt')
-rw-r--r--src/libsyntax/ext/tt/macro_rules.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs
index 6d58af497f0..5e58f003c2b 100644
--- a/src/libsyntax/ext/tt/macro_rules.rs
+++ b/src/libsyntax/ext/tt/macro_rules.rs
@@ -172,7 +172,9 @@ fn generic_extension<'cx>(cx: &'cx mut ExtCtxt,
     }
 
     let best_fail_msg = parse_failure_msg(best_fail_tok.expect("ran no matchers"));
-    cx.span_fatal(best_fail_spot.substitute_dummy(sp), &best_fail_msg);
+    cx.span_err(best_fail_spot.substitute_dummy(sp), &best_fail_msg);
+    cx.trace_macros_diag();
+    DummyResult::any(sp)
 }
 
 // Note that macro-by-example's input is also matched against a token tree: