forbid empty identifiers from concat_idents

This commit is contained in:
Michael Lamparski 2018-05-02 20:51:39 -04:00
parent 8a37c75a3a
commit cd54b3e448
2 changed files with 20 additions and 0 deletions

View File

@ -31,6 +31,11 @@ pub fn expand_syntax_ext<'cx>(cx: &'cx mut ExtCtxt,
return base::DummyResult::expr(sp);
}
if tts.is_empty() {
cx.span_err(sp, "concat_idents! takes 1 or more arguments.");
return DummyResult::expr(sp);
}
let mut res_str = String::new();
for (i, e) in tts.iter().enumerate() {
if i & 1 == 1 {

View File

@ -0,0 +1,15 @@
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(concat_idents)]
fn main() {
let x = concat_idents!(); //~ ERROR concat_idents! takes 1 or more arguments
}