Skip to content

Commit 1a7591d

Browse files
committed
Error when proc macro derive output cannot be fully parsed.
1 parent eba3228 commit 1a7591d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

compiler/rustc_expand/src/proc_macro.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,11 @@ impl MultiItemModifier for ProcMacroDerive {
133133
}
134134
}
135135

136-
// fail if there have been errors emitted
137-
if ecx.sess.parse_sess.span_diagnostic.err_count() > error_count_before {
136+
// fail if there have been errors emitted,
137+
// or if there's any unparsed tokens left.
138+
if parser.token != token::Eof
139+
|| ecx.sess.parse_sess.span_diagnostic.err_count() > error_count_before
140+
{
138141
ecx.struct_span_err(span, "proc-macro derive produced unparseable tokens").emit();
139142
}
140143

0 commit comments

Comments
 (0)