mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	When converting something like `#![cfg_attr(cond, attr)]` into `#![attr]`, we currently duplicate the `#` token and the `!` token. But weirdly, there is also this comment: // We don't really have a good span to use for the synthesized `[]` // in `#[attr]`, so just use the span of the `#` token. Maybe that comment used to be true? But now it is false: we can duplicate the existing delimiters (and their spans and spacing), much like we do for the `#` and `!`. This commit does that, thus removing the incorrect comment, and improving the spans on `Group`s in a few proc-macro tests.
		
			
				
	
	
		
			110 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
PRINT-DERIVE INPUT (DISPLAY): struct Foo
 | 
						|
{
 | 
						|
    field :
 | 
						|
    [bool; { #[rustc_dummy] struct Inner { other_inner_field: u8, } 0 }]
 | 
						|
}
 | 
						|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
 | 
						|
{
 | 
						|
    field :
 | 
						|
    [bool; { #[rustc_dummy] struct Inner { other_inner_field : u8, } 0 }]
 | 
						|
}
 | 
						|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
 | 
						|
    Ident {
 | 
						|
        ident: "struct",
 | 
						|
        span: $DIR/expand-to-derive.rs:16:9: 16:15 (#3),
 | 
						|
    },
 | 
						|
    Ident {
 | 
						|
        ident: "Foo",
 | 
						|
        span: $DIR/expand-to-derive.rs:16:16: 16:19 (#3),
 | 
						|
    },
 | 
						|
    Group {
 | 
						|
        delimiter: Brace,
 | 
						|
        stream: TokenStream [
 | 
						|
            Ident {
 | 
						|
                ident: "field",
 | 
						|
                span: $DIR/expand-to-derive.rs:18:13: 18:18 (#3),
 | 
						|
            },
 | 
						|
            Punct {
 | 
						|
                ch: ':',
 | 
						|
                spacing: Alone,
 | 
						|
                span: $DIR/expand-to-derive.rs:18:18: 18:19 (#3),
 | 
						|
            },
 | 
						|
            Group {
 | 
						|
                delimiter: Bracket,
 | 
						|
                stream: TokenStream [
 | 
						|
                    Ident {
 | 
						|
                        ident: "bool",
 | 
						|
                        span: $DIR/expand-to-derive.rs:18:21: 18:25 (#3),
 | 
						|
                    },
 | 
						|
                    Punct {
 | 
						|
                        ch: ';',
 | 
						|
                        spacing: Alone,
 | 
						|
                        span: $DIR/expand-to-derive.rs:18:25: 18:26 (#3),
 | 
						|
                    },
 | 
						|
                    Group {
 | 
						|
                        delimiter: Brace,
 | 
						|
                        stream: TokenStream [
 | 
						|
                            Punct {
 | 
						|
                                ch: '#',
 | 
						|
                                spacing: Alone,
 | 
						|
                                span: $DIR/expand-to-derive.rs:27:5: 27:6 (#0),
 | 
						|
                            },
 | 
						|
                            Group {
 | 
						|
                                delimiter: Bracket,
 | 
						|
                                stream: TokenStream [
 | 
						|
                                    Ident {
 | 
						|
                                        ident: "rustc_dummy",
 | 
						|
                                        span: $DIR/expand-to-derive.rs:27:28: 27:39 (#0),
 | 
						|
                                    },
 | 
						|
                                ],
 | 
						|
                                span: $DIR/expand-to-derive.rs:27:6: 27:41 (#0),
 | 
						|
                            },
 | 
						|
                            Ident {
 | 
						|
                                ident: "struct",
 | 
						|
                                span: $DIR/expand-to-derive.rs:28:5: 28:11 (#0),
 | 
						|
                            },
 | 
						|
                            Ident {
 | 
						|
                                ident: "Inner",
 | 
						|
                                span: $DIR/expand-to-derive.rs:28:12: 28:17 (#0),
 | 
						|
                            },
 | 
						|
                            Group {
 | 
						|
                                delimiter: Brace,
 | 
						|
                                stream: TokenStream [
 | 
						|
                                    Ident {
 | 
						|
                                        ident: "other_inner_field",
 | 
						|
                                        span: $DIR/expand-to-derive.rs:30:9: 30:26 (#0),
 | 
						|
                                    },
 | 
						|
                                    Punct {
 | 
						|
                                        ch: ':',
 | 
						|
                                        spacing: Alone,
 | 
						|
                                        span: $DIR/expand-to-derive.rs:30:26: 30:27 (#0),
 | 
						|
                                    },
 | 
						|
                                    Ident {
 | 
						|
                                        ident: "u8",
 | 
						|
                                        span: $DIR/expand-to-derive.rs:30:28: 30:30 (#0),
 | 
						|
                                    },
 | 
						|
                                    Punct {
 | 
						|
                                        ch: ',',
 | 
						|
                                        spacing: Alone,
 | 
						|
                                        span: $DIR/expand-to-derive.rs:30:30: 30:31 (#0),
 | 
						|
                                    },
 | 
						|
                                ],
 | 
						|
                                span: $DIR/expand-to-derive.rs:28:18: 31:6 (#0),
 | 
						|
                            },
 | 
						|
                            Literal {
 | 
						|
                                kind: Integer,
 | 
						|
                                symbol: "0",
 | 
						|
                                suffix: None,
 | 
						|
                                span: $DIR/expand-to-derive.rs:20:17: 20:18 (#3),
 | 
						|
                            },
 | 
						|
                        ],
 | 
						|
                        span: $DIR/expand-to-derive.rs:18:27: 21:14 (#3),
 | 
						|
                    },
 | 
						|
                ],
 | 
						|
                span: $DIR/expand-to-derive.rs:18:20: 21:15 (#3),
 | 
						|
            },
 | 
						|
        ],
 | 
						|
        span: $DIR/expand-to-derive.rs:16:20: 22:10 (#3),
 | 
						|
    },
 | 
						|
]
 |