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 RE-COLLECTED (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 RE-COLLECTED (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),
    },
]
