mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Don't insert spaces before most semicolons in print_tts
.
This gives better output for code produced by proc macros.
This commit is contained in:
parent
ef71f1047e
commit
41e4a3e086
@ -160,6 +160,10 @@ fn space_between(tt1: &TokenTree, tt2: &TokenTree) -> bool {
|
|||||||
use TokenTree::Delimited as Del;
|
use TokenTree::Delimited as Del;
|
||||||
use TokenTree::Token as Tok;
|
use TokenTree::Token as Tok;
|
||||||
|
|
||||||
|
fn is_punct(tt: &TokenTree) -> bool {
|
||||||
|
matches!(tt, TokenTree::Token(tok, _) if tok.is_punct())
|
||||||
|
}
|
||||||
|
|
||||||
// Each match arm has one or more examples in comments. The default is to
|
// Each match arm has one or more examples in comments. The default is to
|
||||||
// insert space between adjacent tokens, except for the cases listed in
|
// insert space between adjacent tokens, except for the cases listed in
|
||||||
// this match.
|
// this match.
|
||||||
@ -180,6 +184,9 @@ fn space_between(tt1: &TokenTree, tt2: &TokenTree) -> bool {
|
|||||||
// - Never type: `Fn() ->!`
|
// - Never type: `Fn() ->!`
|
||||||
(_, Tok(Token { kind: Comma | Dot | Not, .. }, _)) => false,
|
(_, Tok(Token { kind: Comma | Dot | Not, .. }, _)) => false,
|
||||||
|
|
||||||
|
// NON-PUNCT + `;`: `x = 3;`, `[T; 3]`
|
||||||
|
(tt1, Tok(Token { kind: Semi, .. }, _)) if !is_punct(tt1) => false,
|
||||||
|
|
||||||
// IDENT + `(`: `f(3)`
|
// IDENT + `(`: `f(3)`
|
||||||
//
|
//
|
||||||
// FIXME: Incorrect cases:
|
// FIXME: Incorrect cases:
|
||||||
|
@ -9,7 +9,7 @@ mac! {
|
|||||||
{
|
{
|
||||||
fn clone() -> S
|
fn clone() -> S
|
||||||
{
|
{
|
||||||
panic! () ;
|
panic! ();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
// pp-exact
|
// pp-exact
|
||||||
|
|
||||||
macro_rules! brace { () => {} ; }
|
macro_rules! brace { () => {}; }
|
||||||
|
|
||||||
macro_rules! bracket[() => {} ;];
|
macro_rules! bracket[() => {};];
|
||||||
|
|
||||||
macro_rules! paren(() => {} ;);
|
macro_rules! paren(() => {};);
|
||||||
|
|
||||||
macro_rules! matcher_brackets {
|
macro_rules! matcher_brackets {
|
||||||
(paren) => {} ; (bracket) => {} ; (brace) => {} ;
|
(paren) => {}; (bracket) => {}; (brace) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! all_fragments {
|
macro_rules! all_fragments {
|
||||||
($b : block, $e : expr, $i : ident, $it : item, $l : lifetime, $lit :
|
($b : block, $e : expr, $i : ident, $it : item, $l : lifetime, $lit :
|
||||||
literal, $m : meta, $p : pat, $pth : path, $s : stmt, $tt : tt, $ty : ty,
|
literal, $m : meta, $p : pat, $pth : path, $s : stmt, $tt : tt, $ty : ty,
|
||||||
$vis : vis) => {} ;
|
$vis : vis) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -113,7 +113,7 @@ fn _8() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn _9() {
|
fn _9() {
|
||||||
macro_rules! stmt_mac { () => { let _ = () ; } }
|
macro_rules! stmt_mac { () => { let _ = (); } }
|
||||||
|
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
stmt_mac!();
|
stmt_mac!();
|
||||||
|
@ -111,7 +111,7 @@ LL | test!(let x = 1+1);
|
|||||||
= note: expanding `test! { let x = 1+1 }`
|
= note: expanding `test! { let x = 1+1 }`
|
||||||
= note: to `test! ((x, 1 + 1))`
|
= note: to `test! ((x, 1 + 1))`
|
||||||
= note: expanding `test! { (x, 1 + 1) }`
|
= note: expanding `test! { (x, 1 + 1) }`
|
||||||
= note: to `let x = 1 + 1 ;`
|
= note: to `let x = 1 + 1;`
|
||||||
|
|
||||||
error: aborting due to 5 previous errors
|
error: aborting due to 5 previous errors
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
PRINT-ATTR INPUT (DISPLAY): struct ItemWithSemi;
|
PRINT-ATTR INPUT (DISPLAY): struct ItemWithSemi;
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct ItemWithSemi ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -47,7 +46,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[expect_let] let string = "Hello, world!";
|
PRINT-ATTR INPUT (DISPLAY): #[expect_let] let string = "Hello, world!";
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): #[expect_let] let string = "Hello, world!" ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
@ -90,7 +88,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[expect_my_macro_stmt] my_macro!("{}", string);
|
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 RE-COLLECTED (DISPLAY): #[expect_my_macro_stmt] my_macro! ("{}", string);
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
@ -144,7 +142,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): second_make_stmt!(#[allow(dead_code)] struct Bar {});
|
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 RE-COLLECTED (DISPLAY): second_make_stmt! (#[allow(dead_code)] struct Bar {});
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "second_make_stmt",
|
ident: "second_make_stmt",
|
||||||
@ -293,7 +291,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct NonBracedStruct;
|
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct NonBracedStruct;
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): #[rustc_dummy] struct NonBracedStruct ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
|
@ -30,7 +30,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[expect_let] let string = "Hello, world!";
|
PRINT-ATTR INPUT (DISPLAY): #[expect_let] let string = "Hello, world!";
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): #[expect_let] let string = "Hello, world!" ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
@ -73,7 +72,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[expect_my_macro_stmt] my_macro!("{}", string);
|
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 RE-COLLECTED (DISPLAY): #[expect_my_macro_stmt] my_macro! ("{}", string);
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
@ -127,7 +126,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): second_make_stmt!(#[allow(dead_code)] struct Bar {});
|
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 RE-COLLECTED (DISPLAY): second_make_stmt! (#[allow(dead_code)] struct Bar {});
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "second_make_stmt",
|
ident: "second_make_stmt",
|
||||||
|
@ -1 +1 @@
|
|||||||
fn main() { let y : u32 = "z" ; { let x: u32 = "y"; } }
|
fn main() { let y : u32 = "z"; { let x: u32 = "y"; } }
|
||||||
|
@ -10,14 +10,14 @@ use proc_macro::TokenStream;
|
|||||||
#[proc_macro_attribute]
|
#[proc_macro_attribute]
|
||||||
pub fn expect_let(attr: TokenStream, item: TokenStream) -> TokenStream {
|
pub fn expect_let(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||||
assert!(attr.to_string().is_empty());
|
assert!(attr.to_string().is_empty());
|
||||||
assert_eq!(item.to_string(), "let string = \"Hello, world!\" ;");
|
assert_eq!(item.to_string(), "let string = \"Hello, world!\";");
|
||||||
item
|
item
|
||||||
}
|
}
|
||||||
|
|
||||||
#[proc_macro_attribute]
|
#[proc_macro_attribute]
|
||||||
pub fn expect_my_macro_stmt(attr: TokenStream, item: TokenStream) -> TokenStream {
|
pub fn expect_my_macro_stmt(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||||
assert!(attr.to_string().is_empty());
|
assert!(attr.to_string().is_empty());
|
||||||
assert_eq!(item.to_string(), "my_macro! (\"{}\", string) ;");
|
assert_eq!(item.to_string(), "my_macro! (\"{}\", string);");
|
||||||
item
|
item
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,10 +11,10 @@ PRINT-ATTR RE-COLLECTED (DISPLAY): impl Foo <
|
|||||||
{ field: [u8; { #![rustc_dummy(another_cursed_inner)] 1 }] } 0
|
{ field: [u8; { #![rustc_dummy(another_cursed_inner)] 1 }] } 0
|
||||||
}] > { #![rustc_dummy(evaluated_attr)] fn bar() {} }
|
}] > { #![rustc_dummy(evaluated_attr)] fn bar() {} }
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): impl Foo <
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): impl Foo <
|
||||||
[u8 ;
|
[u8;
|
||||||
{
|
{
|
||||||
#! [rustc_dummy(cursed_inner)] #! [allow(unused)] struct Inner
|
#! [rustc_dummy(cursed_inner)] #! [allow(unused)] struct Inner
|
||||||
{ field : [u8 ; { #! [rustc_dummy(another_cursed_inner)] 1 }] } 0
|
{ field : [u8; { #! [rustc_dummy(another_cursed_inner)] 1 }] } 0
|
||||||
}] > { #! [rustc_dummy(evaluated_attr)] fn bar() {} }
|
}] > { #! [rustc_dummy(evaluated_attr)] fn bar() {} }
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
|
@ -6,7 +6,7 @@ PRINT-BANG INPUT (DISPLAY): /**
|
|||||||
*******
|
*******
|
||||||
*/
|
*/
|
||||||
pub struct S;
|
pub struct S;
|
||||||
PRINT-BANG RE-COLLECTED (DISPLAY): #[doc = "\n*******\n* DOC *\n* DOC *\n* DOC *\n*******\n"] pub struct S ;
|
PRINT-BANG RE-COLLECTED (DISPLAY): #[doc = "\n*******\n* DOC *\n* DOC *\n* DOC *\n*******\n"] pub struct S;
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -40,7 +39,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
PRINT-ATTR INPUT (DISPLAY): struct A(identity! ($crate :: S));
|
PRINT-ATTR INPUT (DISPLAY): struct A(identity! ($crate :: S));
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A(identity! ($crate :: S)) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -55,7 +54,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): struct B(identity! ($crate :: S));
|
PRINT-ATTR INPUT (DISPLAY): struct B(identity! ($crate :: S));
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct B(identity! ($crate :: S)) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -40,7 +39,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -81,7 +79,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
||||||
PRINT-DERIVE RE-COLLECTED (DISPLAY): struct D($crate :: S) ;
|
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -122,7 +119,6 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -163,7 +159,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -204,7 +199,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
||||||
PRINT-DERIVE RE-COLLECTED (DISPLAY): struct D($crate :: S) ;
|
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
||||||
{
|
{
|
||||||
field :
|
field :
|
||||||
[bool ; { #[rustc_dummy] struct Inner { other_inner_field: u8, } 0 }]
|
[bool; { #[rustc_dummy] struct Inner { other_inner_field: u8, } 0 }]
|
||||||
}
|
}
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
||||||
{
|
{
|
||||||
field :
|
field :
|
||||||
[bool ; { #[rustc_dummy] struct Inner { other_inner_field : u8, } 0 }]
|
[bool; { #[rustc_dummy] struct Inner { other_inner_field : u8, } 0 }]
|
||||||
}
|
}
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = #[allow(warnings)] 0 ; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = #[allow(warnings)] 0; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = #[allow(warnings)] #[allow(warnings)] 0 ; 0 }, }
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = #[allow(warnings)] #[allow(warnings)] 0; 0 }, }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
@ -123,7 +123,7 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0; }; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0; }; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 } ; 0 }, }
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 }; 0 }, }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
@ -203,7 +203,6 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { {} }; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { {} }; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { {} } ; 0 }, }
|
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
@ -282,7 +281,7 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH; }; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH; }; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH } ; 0 }, }
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH }; 0 }, }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
@ -360,7 +359,7 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0 + 1; }; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0 + 1; }; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 + 1 } ; 0 }, }
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 + 1 }; 0 }, }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
@ -451,7 +450,7 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH + 1; }; 0 }, }
|
PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH + 1; }; 0 }, }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH + 1 } ; 0 }, }
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH + 1 }; 0 }, }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "enum",
|
ident: "enum",
|
||||||
|
@ -2,10 +2,10 @@ PRINT-ATTR INPUT (DISPLAY): /// 1
|
|||||||
#[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5] /// 6
|
#[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5] /// 6
|
||||||
#[print_attr(nodebug)] struct S;
|
#[print_attr(nodebug)] struct S;
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5]
|
PRINT-ATTR RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5]
|
||||||
#[doc = " 6"] #[print_attr(nodebug)] struct S ;
|
#[doc = " 6"] #[print_attr(nodebug)] struct S;
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt :: attr2] #[doc = "3"] #[doc = "4"]
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt :: attr2] #[doc = "3"] #[doc = "4"]
|
||||||
#[rustfmt :: attr5] #[doc = " 6"] #[print_attr(nodebug)] struct S ;
|
#[rustfmt :: attr5] #[doc = " 6"] #[print_attr(nodebug)] struct S;
|
||||||
PRINT-ATTR INPUT (DISPLAY): #[doc = " 1"] #[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5]
|
PRINT-ATTR INPUT (DISPLAY): #[doc = " 1"] #[rustfmt::attr2] #[doc = "3"] #[doc = "4"] #[rustfmt::attr5]
|
||||||
#[doc = " 6"] struct S ;
|
#[doc = " 6"] struct S;
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt :: attr2] #[doc = "3"] #[doc = "4"]
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[doc = " 1"] #[rustfmt :: attr2] #[doc = "3"] #[doc = "4"]
|
||||||
#[rustfmt :: attr5] #[doc = " 6"] struct S ;
|
#[rustfmt :: attr5] #[doc = " 6"] struct S;
|
||||||
|
@ -581,10 +581,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||||||
PRINT-DERIVE INPUT (DISPLAY): struct MyDerivePrint
|
PRINT-DERIVE INPUT (DISPLAY): struct MyDerivePrint
|
||||||
{ field: [u8; { match true { _ => { #![rustc_dummy(third)] true } }; 0 }] }
|
{ field: [u8; { match true { _ => { #![rustc_dummy(third)] true } }; 0 }] }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct MyDerivePrint
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct MyDerivePrint
|
||||||
{
|
{ field : [u8; { match true { _ => { #! [rustc_dummy(third)] true } }; 0 }] }
|
||||||
field :
|
|
||||||
[u8 ; { match true { _ => { #! [rustc_dummy(third)] true } } ; 0 }]
|
|
||||||
}
|
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
@ -718,8 +715,7 @@ PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
PRINT-ATTR INPUT (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): (3, 4, { #! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): (3, 4, { #! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Group {
|
Group {
|
||||||
delimiter: Parenthesis,
|
delimiter: Parenthesis,
|
||||||
@ -834,8 +830,7 @@ PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
PRINT-ATTR INPUT (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
||||||
PRINT-ATTR RE-COLLECTED (DISPLAY): (3, 4, { #![cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): (3, 4, { #! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 });
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): (3, 4, { #! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
|
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Group {
|
Group {
|
||||||
delimiter: Parenthesis,
|
delimiter: Parenthesis,
|
||||||
|
@ -5,7 +5,7 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||||||
span: #0 bytes(503..504),
|
span: #0 bytes(503..504),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
PRINT-ATTR INPUT (DISPLAY): const A : u8 = 0 ;
|
PRINT-ATTR INPUT (DISPLAY): const A : u8 = 0;
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "const",
|
ident: "const",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
PRINT-ATTR INPUT (DISPLAY): fn main() { &|_: u8| {}; mul_2!(1 + 1); }
|
PRINT-ATTR INPUT (DISPLAY): fn main() { &|_: u8| {}; mul_2!(1 + 1); }
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): fn main() { &| _ : u8 | {} ; mul_2! (1 + 1) ; }
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): fn main() { &| _ : u8 | {}; mul_2! (1 + 1); }
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "fn",
|
ident: "fn",
|
||||||
|
@ -51,22 +51,22 @@ struct Foo <#[cfg(FALSE)] A, B >
|
|||||||
{
|
{
|
||||||
#[cfg(FALSE)] first : String, #[cfg_attr(FALSE, deny(warnings))] second :
|
#[cfg(FALSE)] first : String, #[cfg_attr(FALSE, deny(warnings))] second :
|
||||||
bool, third :
|
bool, third :
|
||||||
[u8 ;
|
[u8;
|
||||||
{
|
{
|
||||||
#[cfg(FALSE)] struct Bar ; #[cfg(not(FALSE))] struct Inner ;
|
#[cfg(FALSE)] struct Bar; #[cfg(not(FALSE))] struct Inner;
|
||||||
#[cfg(FALSE)] let a = 25 ; match true
|
#[cfg(FALSE)] let a = 25; match true
|
||||||
{
|
{
|
||||||
#[cfg(FALSE)] true => {}, #[cfg_attr(not(FALSE), allow(warnings))]
|
#[cfg(FALSE)] true => {}, #[cfg_attr(not(FALSE), allow(warnings))]
|
||||||
false => {}, _ => {}
|
false => {}, _ => {}
|
||||||
} ; #[print_helper(should_be_removed)] fn removed_fn()
|
}; #[print_helper(should_be_removed)] fn removed_fn()
|
||||||
{ #! [cfg(FALSE)] } #[print_helper(c)] #[cfg(not(FALSE))] fn kept_fn()
|
{ #! [cfg(FALSE)] } #[print_helper(c)] #[cfg(not(FALSE))] fn kept_fn()
|
||||||
{ #! [cfg(not(FALSE))] let my_val = true ; } enum TupleEnum
|
{ #! [cfg(not(FALSE))] let my_val = true; } enum TupleEnum
|
||||||
{
|
{
|
||||||
Foo(#[cfg(FALSE)] u8, #[cfg(FALSE)] bool, #[cfg(not(FALSE))] i32,
|
Foo(#[cfg(FALSE)] u8, #[cfg(FALSE)] bool, #[cfg(not(FALSE))] i32,
|
||||||
#[cfg(FALSE)] String, u8)
|
#[cfg(FALSE)] String, u8)
|
||||||
} struct
|
} struct
|
||||||
TupleStruct(#[cfg(FALSE)] String, #[cfg(not(FALSE))] i32,
|
TupleStruct(#[cfg(FALSE)] String, #[cfg(not(FALSE))] i32,
|
||||||
#[cfg(FALSE)] bool, u8) ; fn plain_removed_fn()
|
#[cfg(FALSE)] bool, u8); fn plain_removed_fn()
|
||||||
{ #! [cfg_attr(not(FALSE), cfg(FALSE))] } 0
|
{ #! [cfg_attr(not(FALSE), cfg(FALSE))] } 0
|
||||||
}], #[print_helper(d)] fourth : B
|
}], #[print_helper(d)] fourth : B
|
||||||
}
|
}
|
||||||
@ -1336,14 +1336,14 @@ PRINT-DERIVE INPUT (DISPLAY): #[print_helper(a)] #[allow(dead_code)] #[print_hel
|
|||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): #[print_helper(a)] #[allow(dead_code)] #[print_helper(b)] struct Foo <B >
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): #[print_helper(a)] #[allow(dead_code)] #[print_helper(b)] struct Foo <B >
|
||||||
{
|
{
|
||||||
second : bool, third :
|
second : bool, third :
|
||||||
[u8 ;
|
[u8;
|
||||||
{
|
{
|
||||||
#[cfg(not(FALSE))] struct Inner ; match true
|
#[cfg(not(FALSE))] struct Inner; match true
|
||||||
{ #[allow(warnings)] false => {}, _ => {} } ; #[print_helper(c)]
|
{ #[allow(warnings)] false => {}, _ => {} }; #[print_helper(c)]
|
||||||
#[cfg(not(FALSE))] fn kept_fn()
|
#[cfg(not(FALSE))] fn kept_fn()
|
||||||
{ #! [cfg(not(FALSE))] let my_val = true ; } enum TupleEnum
|
{ #! [cfg(not(FALSE))] let my_val = true; } enum TupleEnum
|
||||||
{ Foo(#[cfg(not(FALSE))] i32, u8) } struct
|
{ Foo(#[cfg(not(FALSE))] i32, u8) } struct
|
||||||
TupleStruct(#[cfg(not(FALSE))] i32, u8) ; 0
|
TupleStruct(#[cfg(not(FALSE))] i32, u8); 0
|
||||||
}], #[print_helper(d)] fourth : B
|
}], #[print_helper(d)] fourth : B
|
||||||
}
|
}
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] { 1 +1; }
|
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] { 1 +1; }
|
||||||
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[rustc_dummy] { 1 + 1 ; }
|
PRINT-ATTR DEEP-RE-COLLECTED (DISPLAY): #[rustc_dummy] { 1 + 1; }
|
||||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||||
Punct {
|
Punct {
|
||||||
ch: '#',
|
ch: '#',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
||||||
{
|
{
|
||||||
val :
|
val :
|
||||||
[bool ;
|
[bool;
|
||||||
{
|
{
|
||||||
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
|
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
|
||||||
{ #![allow(unused)] 30 }; 0
|
{ #![allow(unused)] 30 }; 0
|
||||||
@ -10,10 +10,10 @@ PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
|||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
||||||
{
|
{
|
||||||
val :
|
val :
|
||||||
[bool ;
|
[bool;
|
||||||
{
|
{
|
||||||
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
|
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
|
||||||
{ #! [allow(unused)] 30 } ; 0
|
{ #! [allow(unused)] 30 }; 0
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
PRINT-DERIVE INPUT (DISPLAY): struct Foo
|
||||||
{ my_array: [bool; { struct Inner { non_removed_inner_field: usize } 0 }] }
|
{ my_array: [bool; { struct Inner { non_removed_inner_field: usize } 0 }] }
|
||||||
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
|
||||||
{ my_array : [bool ; { struct Inner { non_removed_inner_field : usize } 0 }] }
|
{ my_array : [bool; { struct Inner { non_removed_inner_field : usize } 0 }] }
|
||||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||||
Ident {
|
Ident {
|
||||||
ident: "struct",
|
ident: "struct",
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
PRINT-BANG INPUT (DISPLAY): struct S;
|
PRINT-BANG INPUT (DISPLAY): struct S;
|
||||||
PRINT-BANG DEEP-RE-COLLECTED (DISPLAY): struct S ;
|
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Group {
|
Group {
|
||||||
delimiter: None,
|
delimiter: None,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
PRINT-BANG INPUT (DISPLAY): { #![rustc_dummy] let a = "hello".len(); matches!(a, 5); }
|
PRINT-BANG INPUT (DISPLAY): { #![rustc_dummy] let a = "hello".len(); matches!(a, 5); }
|
||||||
PRINT-BANG DEEP-RE-COLLECTED (DISPLAY): { #! [rustc_dummy] let a = "hello".len() ; matches! (a, 5) ; }
|
PRINT-BANG DEEP-RE-COLLECTED (DISPLAY): { #! [rustc_dummy] let a = "hello".len(); matches! (a, 5); }
|
||||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||||
Group {
|
Group {
|
||||||
delimiter: Brace,
|
delimiter: Brace,
|
||||||
|
Loading…
Reference in New Issue
Block a user