diff options
| author | Alexey Shmalko <rasen.dubi@gmail.com> | 2019-04-17 14:01:57 +0300 |
|---|---|---|
| committer | Alexey Shmalko <rasen.dubi@gmail.com> | 2019-04-17 15:30:15 +0300 |
| commit | dfc08610850bc05a3bc31699b592d789a3c71911 (patch) | |
| tree | a8f28377767edd6333c88863e6657b5b51d85936 /src/libsyntax_ext | |
| parent | 258e3b3a75a0da006cd492307fc46ef605e774ad (diff) | |
Make assert! ensure the macro is parsed completely
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/assert.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libsyntax_ext/assert.rs b/src/libsyntax_ext/assert.rs index d2c397e0ecc..f1974ed30f6 100644 --- a/src/libsyntax_ext/assert.rs +++ b/src/libsyntax_ext/assert.rs @@ -74,7 +74,7 @@ fn parse_assert<'a>( return Err(err); } - Ok(Assert { + let assert = Assert { cond_expr: parser.parse_expr()?, custom_message: if parser.eat(&token::Comma) { let ts = parser.parse_tokens(); @@ -86,5 +86,12 @@ fn parse_assert<'a>( } else { None }, - }) + }; + + if parser.token != token::Eof { + parser.expect_one_of(&[], &[])?; + unreachable!(); + } + + Ok(assert) } |
