PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct Foo {}
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:33:9: 33:10 (#7),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "rustc_dummy",
                span: $DIR/attr-stmt-expr.rs:33:11: 33:22 (#7),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:33:10: 33:23 (#7),
    },
    Ident {
        ident: "struct",
        span: $DIR/attr-stmt-expr.rs:45:16: 45:22 (#0),
    },
    Ident {
        ident: "Foo",
        span: $DIR/attr-stmt-expr.rs:45:23: 45:26 (#0),
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [],
        span: $DIR/attr-stmt-expr.rs:45:27: 45:29 (#0),
    },
]
PRINT-ATTR INPUT (DISPLAY): #[expect_let] let string = "Hello, world!" ;
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:48:5: 48:6 (#0),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "expect_let",
                span: $DIR/attr-stmt-expr.rs:48:7: 48:17 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:48:6: 48:18 (#0),
    },
    Ident {
        ident: "let",
        span: $DIR/attr-stmt-expr.rs:49:5: 49:8 (#0),
    },
    Ident {
        ident: "string",
        span: $DIR/attr-stmt-expr.rs:49:9: 49:15 (#0),
    },
    Punct {
        ch: '=',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:49:16: 49:17 (#0),
    },
    Literal {
        kind: Str,
        symbol: "Hello, world!",
        suffix: None,
        span: $DIR/attr-stmt-expr.rs:49:18: 49:33 (#0),
    },
    Punct {
        ch: ';',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:49:33: 49:34 (#0),
    },
]
PRINT-ATTR INPUT (DISPLAY): #[expect_my_macro_stmt] my_macro! ("{}", string) ;
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:52:5: 52:6 (#0),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "expect_my_macro_stmt",
                span: $DIR/attr-stmt-expr.rs:52:7: 52:27 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:52:6: 52:28 (#0),
    },
    Ident {
        ident: "my_macro",
        span: $DIR/attr-stmt-expr.rs:53:5: 53:13 (#0),
    },
    Punct {
        ch: '!',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:53:13: 53:14 (#0),
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [
            Literal {
                kind: Str,
                symbol: "{}",
                suffix: None,
                span: $DIR/attr-stmt-expr.rs:53:15: 53:19 (#0),
            },
            Punct {
                ch: ',',
                spacing: Alone,
                span: $DIR/attr-stmt-expr.rs:53:19: 53:20 (#0),
            },
            Ident {
                ident: "string",
                span: $DIR/attr-stmt-expr.rs:53:21: 53:27 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:53:14: 53:28 (#0),
    },
    Punct {
        ch: ';',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:53:28: 53:29 (#0),
    },
]
PRINT-ATTR INPUT (DISPLAY): second_make_stmt! (#[allow(dead_code)] struct Bar {}) ;
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Ident {
        ident: "second_make_stmt",
        span: $DIR/attr-stmt-expr.rs:56:5: 56:21 (#0),
    },
    Punct {
        ch: '!',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:56:21: 56:22 (#0),
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [
            Punct {
                ch: '#',
                spacing: Alone,
                span: $DIR/attr-stmt-expr.rs:56:23: 56:24 (#0),
            },
            Group {
                delimiter: Bracket,
                stream: TokenStream [
                    Ident {
                        ident: "allow",
                        span: $DIR/attr-stmt-expr.rs:56:25: 56:30 (#0),
                    },
                    Group {
                        delimiter: Parenthesis,
                        stream: TokenStream [
                            Ident {
                                ident: "dead_code",
                                span: $DIR/attr-stmt-expr.rs:56:31: 56:40 (#0),
                            },
                        ],
                        span: $DIR/attr-stmt-expr.rs:56:30: 56:41 (#0),
                    },
                ],
                span: $DIR/attr-stmt-expr.rs:56:24: 56:42 (#0),
            },
            Ident {
                ident: "struct",
                span: $DIR/attr-stmt-expr.rs:56:43: 56:49 (#0),
            },
            Ident {
                ident: "Bar",
                span: $DIR/attr-stmt-expr.rs:56:50: 56:53 (#0),
            },
            Group {
                delimiter: Brace,
                stream: TokenStream [],
                span: $DIR/attr-stmt-expr.rs:56:54: 56:56 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:56:22: 56:57 (#0),
    },
    Punct {
        ch: ';',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:56:57: 56:58 (#0),
    },
]
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] #[allow(dead_code)] struct Bar {}
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:33:9: 33:10 (#28),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "rustc_dummy",
                span: $DIR/attr-stmt-expr.rs:33:11: 33:22 (#28),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:33:10: 33:23 (#28),
    },
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:56:23: 56:24 (#0),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "allow",
                span: $DIR/attr-stmt-expr.rs:56:25: 56:30 (#0),
            },
            Group {
                delimiter: Parenthesis,
                stream: TokenStream [
                    Ident {
                        ident: "dead_code",
                        span: $DIR/attr-stmt-expr.rs:56:31: 56:40 (#0),
                    },
                ],
                span: $DIR/attr-stmt-expr.rs:56:30: 56:41 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:56:24: 56:42 (#0),
    },
    Ident {
        ident: "struct",
        span: $DIR/attr-stmt-expr.rs:56:43: 56:49 (#0),
    },
    Ident {
        ident: "Bar",
        span: $DIR/attr-stmt-expr.rs:56:50: 56:53 (#0),
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [],
        span: $DIR/attr-stmt-expr.rs:56:54: 56:56 (#0),
    },
]
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct Other {}
PRINT-ATTR INPUT (DEBUG): TokenStream [
    Punct {
        ch: '#',
        spacing: Alone,
        span: $DIR/attr-stmt-expr.rs:59:5: 59:6 (#0),
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Ident {
                ident: "rustc_dummy",
                span: $DIR/attr-stmt-expr.rs:59:7: 59:18 (#0),
            },
        ],
        span: $DIR/attr-stmt-expr.rs:59:6: 59:19 (#0),
    },
    Ident {
        ident: "struct",
        span: $DIR/attr-stmt-expr.rs:60:5: 60:11 (#0),
    },
    Ident {
        ident: "Other",
        span: $DIR/attr-stmt-expr.rs:60:12: 60:17 (#0),
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [],
        span: $DIR/attr-stmt-expr.rs:60:18: 60:20 (#0),
    },
]