@@ -581,13 +581,13 @@ pub enum BindingMode {
581
581
ByRef ( BorrowKind ) ,
582
582
}
583
583
584
- #[ derive( Clone , Debug , HashStable ) ]
584
+ #[ derive( Clone , Debug , HashStable , TypeVisitable ) ]
585
585
pub struct FieldPat < ' tcx > {
586
586
pub field : FieldIdx ,
587
587
pub pattern : Box < Pat < ' tcx > > ,
588
588
}
589
589
590
- #[ derive( Clone , Debug , HashStable ) ]
590
+ #[ derive( Clone , Debug , HashStable , TypeVisitable ) ]
591
591
pub struct Pat < ' tcx > {
592
592
pub ty : Ty < ' tcx > ,
593
593
pub span : Span ,
@@ -664,7 +664,7 @@ impl<'tcx> IntoDiagnosticArg for Pat<'tcx> {
664
664
}
665
665
}
666
666
667
- #[ derive( Clone , Debug , HashStable ) ]
667
+ #[ derive( Clone , Debug , HashStable , TypeVisitable ) ]
668
668
pub struct Ascription < ' tcx > {
669
669
pub annotation : CanonicalUserTypeAnnotation < ' tcx > ,
670
670
/// Variance to use when relating the `user_ty` to the **type of the value being
@@ -688,7 +688,7 @@ pub struct Ascription<'tcx> {
688
688
pub variance : ty:: Variance ,
689
689
}
690
690
691
- #[ derive( Clone , Debug , HashStable ) ]
691
+ #[ derive( Clone , Debug , HashStable , TypeVisitable ) ]
692
692
pub enum PatKind < ' tcx > {
693
693
/// A wildcard pattern: `_`.
694
694
Wild ,
@@ -702,7 +702,9 @@ pub enum PatKind<'tcx> {
702
702
Binding {
703
703
mutability : Mutability ,
704
704
name : Symbol ,
705
+ #[ type_visitable( ignore) ]
705
706
mode : BindingMode ,
707
+ #[ type_visitable( ignore) ]
706
708
var : LocalVarId ,
707
709
ty : Ty < ' tcx > ,
708
710
subpattern : Option < Box < Pat < ' tcx > > > ,
@@ -767,10 +769,11 @@ pub enum PatKind<'tcx> {
767
769
} ,
768
770
}
769
771
770
- #[ derive( Clone , Debug , PartialEq , HashStable ) ]
772
+ #[ derive( Clone , Debug , PartialEq , HashStable , TypeVisitable ) ]
771
773
pub struct PatRange < ' tcx > {
772
774
pub lo : mir:: Const < ' tcx > ,
773
775
pub hi : mir:: Const < ' tcx > ,
776
+ #[ type_visitable( ignore) ]
774
777
pub end : RangeEnd ,
775
778
}
776
779
0 commit comments