File tree Expand file tree Collapse file tree 3 files changed +20
-8
lines changed
rustc_ast_pretty/src/pprust Expand file tree Collapse file tree 3 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -2460,7 +2460,11 @@ impl<'a> State<'a> {
24602460 self . print_path ( path, true , 0 ) ;
24612461 }
24622462 self . nbsp ( ) ;
2463- self . word_space ( "{" ) ;
2463+ self . word ( "{" ) ;
2464+ let empty = fields. is_empty ( ) && !etc;
2465+ if !empty {
2466+ self . space ( ) ;
2467+ }
24642468 self . commasep_cmnt (
24652469 Consistent ,
24662470 & fields,
@@ -2481,7 +2485,9 @@ impl<'a> State<'a> {
24812485 }
24822486 self . word ( ".." ) ;
24832487 }
2484- self . space ( ) ;
2488+ if !empty {
2489+ self . space ( ) ;
2490+ }
24852491 self . word ( "}" ) ;
24862492 }
24872493 PatKind :: Tuple ( ref elts) => {
Original file line number Diff line number Diff line change @@ -1874,7 +1874,11 @@ impl<'a> State<'a> {
18741874 PatKind :: Struct ( ref qpath, ref fields, etc) => {
18751875 self . print_qpath ( qpath, true ) ;
18761876 self . nbsp ( ) ;
1877- self . word_space ( "{" ) ;
1877+ self . word ( "{" ) ;
1878+ let empty = fields. is_empty ( ) && !etc;
1879+ if !empty {
1880+ self . space ( ) ;
1881+ }
18781882 self . commasep_cmnt (
18791883 Consistent ,
18801884 & fields,
@@ -1895,7 +1899,9 @@ impl<'a> State<'a> {
18951899 }
18961900 self . word ( ".." ) ;
18971901 }
1898- self . space ( ) ;
1902+ if !empty {
1903+ self . space ( ) ;
1904+ }
18991905 self . word ( "}" ) ;
19001906 }
19011907 PatKind :: Or ( ref pats) => {
Original file line number Diff line number Diff line change @@ -661,9 +661,9 @@ fn test_pat() {
661661 assert_eq ! ( stringify_pat!( ref mut _x @ _) , "ref mut _x @ _" ) ;
662662
663663 // PatKind::Struct
664- assert_eq ! ( stringify_pat!( Struct { } ) , "Struct { }" ) ; // FIXME
665- assert_eq ! ( stringify_pat!( Struct :: <u8 > { } ) , "Struct::<u8> { }" ) ;
666- assert_eq ! ( stringify_pat!( Struct :: <' static > { } ) , "Struct::<'static> { }" ) ;
664+ assert_eq ! ( stringify_pat!( Struct { } ) , "Struct {}" ) ;
665+ assert_eq ! ( stringify_pat!( Struct :: <u8 > { } ) , "Struct::<u8> {}" ) ;
666+ assert_eq ! ( stringify_pat!( Struct :: <' static > { } ) , "Struct::<'static> {}" ) ;
667667 assert_eq ! ( stringify_pat!( Struct { x } ) , "Struct { x }" ) ;
668668 assert_eq ! ( stringify_pat!( Struct { x: _x } ) , "Struct { x: _x }" ) ;
669669 assert_eq ! ( stringify_pat!( Struct { .. } ) , "Struct { .. }" ) ;
@@ -672,7 +672,7 @@ fn test_pat() {
672672 #[ rustfmt:: skip] // https://github.com/rust-lang/rustfmt/issues/5151
673673 assert_eq ! (
674674 stringify_pat!( <Struct as Trait >:: Type { } ) ,
675- "<Struct as Trait>::Type { }" ,
675+ "<Struct as Trait>::Type {}" ,
676676 ) ;
677677
678678 // PatKind::TupleStruct
You can’t perform that action at this time.
0 commit comments