about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorAlexey Shmalko <rasen.dubi@gmail.com>2019-04-17 14:01:57 +0300
committerAlexey Shmalko <rasen.dubi@gmail.com>2019-04-17 15:30:15 +0300
commitdfc08610850bc05a3bc31699b592d789a3c71911 (patch)
treea8f28377767edd6333c88863e6657b5b51d85936 /src/libsyntax_ext
parent258e3b3a75a0da006cd492307fc46ef605e774ad (diff)
Make assert! ensure the macro is parsed completely
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/assert.rs11
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)
 }