@@ -3,7 +3,7 @@ use std::rc::Rc;
3
3
use std:: sync:: Arc ;
4
4
5
5
use rustc_ast:: { ast, token:: Delimiter , visit} ;
6
- use rustc_span:: { BytePos , Pos , Span , symbol} ;
6
+ use rustc_span:: { BytePos , Ident , Pos , Span , symbol} ;
7
7
use tracing:: debug;
8
8
9
9
use crate :: attr:: * ;
@@ -573,7 +573,7 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
573
573
}
574
574
ast:: ItemKind :: TyAlias ( ref ty_alias) => {
575
575
use ItemVisitorKind :: Item ;
576
- self . visit_ty_alias_kind ( ty_alias, & Item ( item) , item. span ) ;
576
+ self . visit_ty_alias_kind ( ty_alias, & item. vis , item . ident , Item , item. span ) ;
577
577
}
578
578
ast:: ItemKind :: GlobalAsm ( ..) => {
579
579
let snippet = Some ( self . snippet ( item. span ) . to_owned ( ) ) ;
@@ -605,11 +605,15 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
605
605
fn visit_ty_alias_kind (
606
606
& mut self ,
607
607
ty_kind : & ast:: TyAlias ,
608
- visitor_kind : & ItemVisitorKind < ' _ > ,
608
+ vis : & ast:: Visibility ,
609
+ ident : Ident ,
610
+ visitor_kind : ItemVisitorKind ,
609
611
span : Span ,
610
612
) {
611
613
let rewrite = rewrite_type_alias (
612
614
ty_kind,
615
+ vis,
616
+ ident,
613
617
& self . get_context ( ) ,
614
618
self . block_indent ,
615
619
visitor_kind,
@@ -619,14 +623,15 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
619
623
self . push_rewrite ( span, rewrite) ;
620
624
}
621
625
622
- fn visit_assoc_item ( & mut self , visitor_kind : & ItemVisitorKind < ' _ > ) {
626
+ fn visit_assoc_item ( & mut self , ai : & ast :: AssocItem , visitor_kind : ItemVisitorKind ) {
623
627
use ItemVisitorKind :: * ;
624
628
// TODO(calebcartwright): Not sure the skip spans are correct
625
- let ( ai , skip_span , assoc_ctxt) = match visitor_kind {
626
- AssocTraitItem ( ai ) => ( * ai , ai . span ( ) , visit:: AssocCtxt :: Trait ) ,
627
- AssocImplItem ( ai ) => ( * ai , ai . span , visit:: AssocCtxt :: Impl ) ,
629
+ let assoc_ctxt = match visitor_kind {
630
+ AssocTraitItem => visit:: AssocCtxt :: Trait ,
631
+ AssocImplItem => visit:: AssocCtxt :: Impl ,
628
632
_ => unreachable ! ( ) ,
629
633
} ;
634
+ let skip_span = ai. span ;
630
635
skip_out_of_file_lines_range_visitor ! ( self , ai. span) ;
631
636
632
637
if self . visit_attrs ( & ai. attrs , ast:: AttrStyle :: Outer ) {
@@ -636,10 +641,10 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
636
641
637
642
// TODO(calebcartwright): consider enabling box_patterns feature gate
638
643
match ( & ai. kind , visitor_kind) {
639
- ( ast:: AssocItemKind :: Const ( ..) , AssocTraitItem ( _ ) ) => {
644
+ ( ast:: AssocItemKind :: Const ( ..) , AssocTraitItem ) => {
640
645
self . visit_static ( & StaticParts :: from_trait_item ( ai) )
641
646
}
642
- ( ast:: AssocItemKind :: Const ( ..) , AssocImplItem ( _ ) ) => {
647
+ ( ast:: AssocItemKind :: Const ( ..) , AssocImplItem ) => {
643
648
self . visit_static ( & StaticParts :: from_impl_item ( ai) )
644
649
}
645
650
( ast:: AssocItemKind :: Fn ( ref fn_kind) , _) => {
@@ -669,7 +674,7 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
669
674
}
670
675
}
671
676
( ast:: AssocItemKind :: Type ( ref ty_alias) , _) => {
672
- self . visit_ty_alias_kind ( ty_alias, visitor_kind, ai. span ) ;
677
+ self . visit_ty_alias_kind ( ty_alias, & ai . vis , ai . ident , visitor_kind, ai. span ) ;
673
678
}
674
679
( ast:: AssocItemKind :: MacCall ( ref mac) , _) => {
675
680
self . visit_mac ( mac, Some ( ai. ident ) , MacroPosition :: Item ) ;
@@ -679,11 +684,11 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
679
684
}
680
685
681
686
pub ( crate ) fn visit_trait_item ( & mut self , ti : & ast:: AssocItem ) {
682
- self . visit_assoc_item ( & ItemVisitorKind :: AssocTraitItem ( ti ) ) ;
687
+ self . visit_assoc_item ( ti , ItemVisitorKind :: AssocTraitItem ) ;
683
688
}
684
689
685
690
pub ( crate ) fn visit_impl_item ( & mut self , ii : & ast:: AssocItem ) {
686
- self . visit_assoc_item ( & ItemVisitorKind :: AssocImplItem ( ii ) ) ;
691
+ self . visit_assoc_item ( ii , ItemVisitorKind :: AssocImplItem ) ;
687
692
}
688
693
689
694
fn visit_mac ( & mut self , mac : & ast:: MacCall , ident : Option < symbol:: Ident > , pos : MacroPosition ) {
0 commit comments