2018-03-16 01:20:56 -05:00
|
|
|
//! Attributes producing expressions in invalid locations
|
|
|
|
|
2020-01-31 16:02:31 -06:00
|
|
|
// aux-build:attr-stmt-expr.rs
|
|
|
|
|
|
|
|
#![feature(proc_macro_hygiene)]
|
|
|
|
#![feature(stmt_expr_attributes)]
|
2018-03-16 01:20:56 -05:00
|
|
|
|
|
|
|
extern crate attr_stmt_expr;
|
|
|
|
use attr_stmt_expr::{duplicate, no_output};
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let _ = #[no_output] "Hello, world!";
|
2019-05-21 19:47:23 -05:00
|
|
|
//~^ ERROR expected expression, found end of macro arguments
|
2018-03-16 01:20:56 -05:00
|
|
|
|
|
|
|
let _ = #[duplicate] "Hello, world!";
|
|
|
|
//~^ ERROR macro expansion ignores token `,` and any following
|
|
|
|
|
|
|
|
let _ = {
|
|
|
|
#[no_output]
|
|
|
|
"Hello, world!"
|
|
|
|
};
|
|
|
|
|
|
|
|
let _ = {
|
|
|
|
#[duplicate]
|
|
|
|
//~^ ERROR macro expansion ignores token `,` and any following
|
|
|
|
"Hello, world!"
|
|
|
|
};
|
|
|
|
}
|