@@ -1713,11 +1713,16 @@ impl<'a> State<'a> {
1713
1713
1714
1714
fn print_expr_struct (
1715
1715
& mut self ,
1716
+ qself : & Option < ast:: QSelf > ,
1716
1717
path : & ast:: Path ,
1717
1718
fields : & [ ast:: ExprField ] ,
1718
1719
rest : & ast:: StructRest ,
1719
1720
) {
1720
- self . print_path ( path, true , 0 ) ;
1721
+ if let Some ( qself) = qself {
1722
+ self . print_qpath ( path, qself, true ) ;
1723
+ } else {
1724
+ self . print_path ( path, true , 0 ) ;
1725
+ }
1721
1726
self . s . word ( "{" ) ;
1722
1727
self . commasep_cmnt (
1723
1728
Consistent ,
@@ -1874,7 +1879,7 @@ impl<'a> State<'a> {
1874
1879
self . print_expr_repeat ( element, count) ;
1875
1880
}
1876
1881
ast:: ExprKind :: Struct ( ref se) => {
1877
- self . print_expr_struct ( & se. path , & se. fields , & se. rest ) ;
1882
+ self . print_expr_struct ( & se. qself , & se . path , & se. fields , & se. rest ) ;
1878
1883
}
1879
1884
ast:: ExprKind :: Tup ( ref exprs) => {
1880
1885
self . print_expr_tup ( exprs) ;
@@ -2340,8 +2345,12 @@ impl<'a> State<'a> {
2340
2345
self . print_pat ( p) ;
2341
2346
}
2342
2347
}
2343
- PatKind :: TupleStruct ( ref path, ref elts) => {
2344
- self . print_path ( path, true , 0 ) ;
2348
+ PatKind :: TupleStruct ( ref qself, ref path, ref elts) => {
2349
+ if let Some ( qself) = qself {
2350
+ self . print_qpath ( path, qself, true ) ;
2351
+ } else {
2352
+ self . print_path ( path, true , 0 ) ;
2353
+ }
2345
2354
self . popen ( ) ;
2346
2355
self . commasep ( Inconsistent , & elts[ ..] , |s, p| s. print_pat ( p) ) ;
2347
2356
self . pclose ( ) ;
@@ -2355,8 +2364,12 @@ impl<'a> State<'a> {
2355
2364
PatKind :: Path ( Some ( ref qself) , ref path) => {
2356
2365
self . print_qpath ( path, qself, false ) ;
2357
2366
}
2358
- PatKind :: Struct ( ref path, ref fields, etc) => {
2359
- self . print_path ( path, true , 0 ) ;
2367
+ PatKind :: Struct ( ref qself, ref path, ref fields, etc) => {
2368
+ if let Some ( qself) = qself {
2369
+ self . print_qpath ( path, qself, true ) ;
2370
+ } else {
2371
+ self . print_path ( path, true , 0 ) ;
2372
+ }
2360
2373
self . nbsp ( ) ;
2361
2374
self . word_space ( "{" ) ;
2362
2375
self . commasep_cmnt (
0 commit comments