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
26 changed files with 59 additions and 73 deletions
|
@ -160,6 +160,10 @@ fn space_between(tt1: &TokenTree, tt2: &TokenTree) -> bool {
|
|||
use TokenTree::Delimited as Del;
|
||||
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
|
||||
// insert space between adjacent tokens, except for the cases listed in
|
||||
// this match.
|
||||
|
@ -180,6 +184,9 @@ fn space_between(tt1: &TokenTree, tt2: &TokenTree) -> bool {
|
|||
// - Never type: `Fn() ->!`
|
||||
(_, 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)`
|
||||
//
|
||||
// FIXME: Incorrect cases:
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
PRINT-ATTR INPUT (DISPLAY): struct ItemWithSemi;
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct ItemWithSemi ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -47,7 +46,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
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 [
|
||||
Punct {
|
||||
ch: '#',
|
||||
|
@ -293,7 +291,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct NonBracedStruct;
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): #[rustc_dummy] struct NonBracedStruct ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Punct {
|
||||
ch: '#',
|
||||
|
|
|
@ -30,7 +30,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
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 [
|
||||
Punct {
|
||||
ch: '#',
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -40,7 +39,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
PRINT-ATTR INPUT (DISPLAY): struct A(identity! ($crate :: S));
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A(identity! ($crate :: S)) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -55,7 +54,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct B(identity! ($crate :: S));
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct B(identity! ($crate :: S)) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -40,7 +39,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -81,7 +79,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
||||
PRINT-DERIVE RE-COLLECTED (DISPLAY): struct D($crate :: S) ;
|
||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -122,7 +119,6 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S);
|
||||
PRINT-BANG RE-COLLECTED (DISPLAY): struct M($crate :: S) ;
|
||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -163,7 +159,6 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S);
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -204,7 +199,6 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S);
|
||||
PRINT-DERIVE RE-COLLECTED (DISPLAY): struct D($crate :: S) ;
|
||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
|
|
@ -203,7 +203,6 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
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 [
|
||||
Ident {
|
||||
ident: "enum",
|
||||
|
|
|
@ -581,10 +581,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
|||
PRINT-DERIVE INPUT (DISPLAY): struct MyDerivePrint
|
||||
{ field: [u8; { match true { _ => { #![rustc_dummy(third)] true } }; 0 }] }
|
||||
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 [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
|
@ -718,7 +715,6 @@ PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
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 INPUT (DEBUG): TokenStream [
|
||||
Group {
|
||||
|
@ -834,7 +830,6 @@ PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
|
|||
},
|
||||
]
|
||||
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 INPUT (DEBUG): TokenStream [
|
||||
Group {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
PRINT-BANG INPUT (DISPLAY): struct S;
|
||||
PRINT-BANG DEEP-RE-COLLECTED (DISPLAY): struct S ;
|
||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Group {
|
||||
delimiter: None,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue