//@ run-pass
//@ proc-macro: attr-stmt-expr-rpass.rs

#![feature(stmt_expr_attributes, proc_macro_hygiene)]

extern crate attr_stmt_expr_rpass as attr_stmt_expr;
use attr_stmt_expr::{expect_let, expect_print_stmt, expect_expr, expect_print_expr,
                     no_output, noop};

fn print_str(string: &'static str) {
    // macros are handled a bit differently
    #[expect_print_expr]
    println!("{}", string)
}

fn main() {
    #[expect_let]
    let string = "Hello, world!";

    #[expect_print_stmt]
    println!("{}", string);

    let _: () = {
        #[no_output]
        "Hello, world!"
    };

    let _: &'static str = #[noop] "Hello, world!";

    let _: &'static str = {
        #[noop] "Hello, world!"
    };

    #[expect_expr]
    print_str("string")
}
