diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2018-12-10 22:01:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-10 22:01:57 +0100 |
| commit | dec7b1951608925f3e9b4f21397d114debc235e0 (patch) | |
| tree | 9efc46c8848825d404a4ba393c2375cd93b2af70 /src/libsyntax_ext | |
| parent | 1137d29d5e551e377579c5a601fe7c444057d00c (diff) | |
| parent | a367cec6e355a0b17d611acba5577ee72c228971 (diff) | |
| download | rust-dec7b1951608925f3e9b4f21397d114debc235e0.tar.gz rust-dec7b1951608925f3e9b4f21397d114debc235e0.zip | |
Rollup merge of #56491 - euclio:assert-error, r=estebank
emit error with span for empty asserts Fixes #55547.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/assert.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libsyntax_ext/assert.rs b/src/libsyntax_ext/assert.rs index e3bd2ca0131..a2384b59048 100644 --- a/src/libsyntax_ext/assert.rs +++ b/src/libsyntax_ext/assert.rs @@ -24,6 +24,14 @@ pub fn expand_assert<'cx>( tts: &[TokenTree], ) -> Box<dyn MacResult + 'cx> { let mut parser = cx.new_parser_from_tts(tts); + + if parser.token == token::Eof { + cx.struct_span_err(sp, "macro requires a boolean expression as an argument") + .span_label(sp, "boolean expression required") + .emit(); + return DummyResult::expr(sp); + } + let cond_expr = panictry!(parser.parse_expr()); let custom_msg_args = if parser.eat(&token::Comma) { let ts = parser.parse_tokens(); |
