]> git.proxmox.com Git - rustc.git/blame - src/test/compile-fail-fulldeps/proc-macro/attr-stmt-expr.rs
New upstream version 1.27.1+dfsg1
[rustc.git] / src / test / compile-fail-fulldeps / proc-macro / attr-stmt-expr.rs
CommitLineData
0531ce1d
XL
1// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11// aux-build:attr-stmt-expr.rs
12// ignore-stage1
13
83c7162d 14#![feature(proc_macro, proc_macro_expr)]
0531ce1d
XL
15
16extern crate attr_stmt_expr;
17use attr_stmt_expr::{expect_let, expect_print_stmt, expect_expr, expect_print_expr};
18
19fn print_str(string: &'static str) {
20 // macros are handled a bit differently
21 #[expect_print_expr]
22 //~^ ERROR attributes on expressions are experimental
23 //~| HELP add #![feature(stmt_expr_attributes)] to the crate attributes to enable
24 println!("{}", string)
25}
26
27fn main() {
28 #[expect_let]
29 let string = "Hello, world!";
30
31 #[expect_print_stmt]
32 println!("{}", string);
33
34 #[expect_expr]
35 //~^ ERROR attributes on expressions are experimental
36 //~| HELP add #![feature(stmt_expr_attributes)] to the crate attributes to enable
37 print_str("string")
38}