diff options
| author | Mark Mansi <markm@cs.wisc.edu> | 2019-03-28 12:36:13 -0500 |
|---|---|---|
| committer | Mark Mansi <markm@cs.wisc.edu> | 2019-04-10 21:29:17 -0500 |
| commit | d7f5c50a335204e00565c978f5eb7fac40468f96 (patch) | |
| tree | 15d27ac1f1f231c95a2af63e82bd82fca50a4953 /src/libsyntax/ext | |
| parent | 96d700f1b7bc9c53fa0d11567adb1ed2c1c27e79 (diff) | |
| download | rust-d7f5c50a335204e00565c978f5eb7fac40468f96.tar.gz rust-d7f5c50a335204e00565c978f5eb7fac40468f96.zip | |
make duplicate matcher bindings a hard error
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 12912044e4e..b1b9d25b3d5 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -497,22 +497,14 @@ fn check_lhs_duplicate_matcher_bindings( node_id: ast::NodeId, ) -> bool { use self::quoted::TokenTree; - use crate::early_buffered_lints::BufferedEarlyLintId; for tt in tts { match *tt { TokenTree::MetaVarDecl(span, name, _kind) => { if let Some(&prev_span) = metavar_names.get(&name) { - // FIXME(mark-i-m): in a few cycles, make this a hard error. - // sess.span_diagnostic - // .struct_span_err(span, "duplicate matcher binding") - // .span_note(prev_span, "previous declaration was here") - // .emit(); - sess.buffer_lint( - BufferedEarlyLintId::DuplicateMacroMatcherBindingName, - crate::source_map::MultiSpan::from(vec![prev_span, span]), - node_id, - "duplicate matcher binding" - ); + sess.span_diagnostic + .struct_span_err(span, "duplicate matcher binding") + .span_note(prev_span, "previous declaration was here") + .emit(); return false; } else { metavar_names.insert(name, span); |
