@@ -136,7 +136,7 @@ impl MirPhase {
136
136
137
137
/// Where a specific `mir::Body` comes from.
138
138
#[ derive( Copy , Clone , Debug , PartialEq , Eq ) ]
139
- #[ derive( HashStable , TyEncodable , TyDecodable , TypeFoldable ) ]
139
+ #[ derive( HashStable , TyEncodable , TyDecodable , TypeFoldable , TypeVisitable ) ]
140
140
pub struct MirSource < ' tcx > {
141
141
pub instance : InstanceDef < ' tcx > ,
142
142
@@ -166,7 +166,7 @@ impl<'tcx> MirSource<'tcx> {
166
166
}
167
167
}
168
168
169
- #[ derive( Clone , TyEncodable , TyDecodable , Debug , HashStable , TypeFoldable ) ]
169
+ #[ derive( Clone , TyEncodable , TyDecodable , Debug , HashStable , TypeFoldable , TypeVisitable ) ]
170
170
pub struct GeneratorInfo < ' tcx > {
171
171
/// The yield type of the function, if it is a generator.
172
172
pub yield_ty : Option < Ty < ' tcx > > ,
@@ -183,7 +183,7 @@ pub struct GeneratorInfo<'tcx> {
183
183
}
184
184
185
185
/// The lowered representation of a single function.
186
- #[ derive( Clone , TyEncodable , TyDecodable , Debug , HashStable , TypeFoldable ) ]
186
+ #[ derive( Clone , TyEncodable , TyDecodable , Debug , HashStable , TypeFoldable , TypeVisitable ) ]
187
187
pub struct Body < ' tcx > {
188
188
/// A list of basic blocks. References to basic block use a newtyped index type [`BasicBlock`]
189
189
/// that indexes into this vector.
@@ -601,7 +601,7 @@ impl<'tcx> IndexMut<BasicBlock> for Body<'tcx> {
601
601
}
602
602
}
603
603
604
- #[ derive( Copy , Clone , Debug , HashStable , TypeFoldable ) ]
604
+ #[ derive( Copy , Clone , Debug , HashStable , TypeFoldable , TypeVisitable ) ]
605
605
pub enum ClearCrossCrate < T > {
606
606
Clear ,
607
607
Set ( T ) ,
@@ -807,7 +807,7 @@ pub struct BlockTailInfo {
807
807
///
808
808
/// This can be a binding declared by the user, a temporary inserted by the compiler, a function
809
809
/// argument, or the return place.
810
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
810
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
811
811
pub struct LocalDecl < ' tcx > {
812
812
/// Whether this is a mutable binding (i.e., `let x` or `let mut x`).
813
813
///
@@ -942,7 +942,7 @@ static_assert_size!(LocalDecl<'_>, 56);
942
942
///
943
943
/// Not used for non-StaticRef temporaries, the return place, or anonymous
944
944
/// function parameters.
945
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
945
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
946
946
pub enum LocalInfo < ' tcx > {
947
947
/// A user-defined local variable or function parameter
948
948
///
@@ -1081,7 +1081,7 @@ impl<'tcx> LocalDecl<'tcx> {
1081
1081
}
1082
1082
}
1083
1083
1084
- #[ derive( Clone , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
1084
+ #[ derive( Clone , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
1085
1085
pub enum VarDebugInfoContents < ' tcx > {
1086
1086
/// NOTE(eddyb) There's an unenforced invariant that this `Place` is
1087
1087
/// based on a `Local`, not a `Static`, and contains no indexing.
@@ -1099,7 +1099,7 @@ impl<'tcx> Debug for VarDebugInfoContents<'tcx> {
1099
1099
}
1100
1100
1101
1101
/// Debug information pertaining to a user variable.
1102
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
1102
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
1103
1103
pub struct VarDebugInfo < ' tcx > {
1104
1104
pub name : Symbol ,
1105
1105
@@ -1155,7 +1155,7 @@ impl BasicBlock {
1155
1155
// BasicBlockData
1156
1156
1157
1157
/// See [`BasicBlock`] for documentation on what basic blocks are at a high level.
1158
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
1158
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
1159
1159
pub struct BasicBlockData < ' tcx > {
1160
1160
/// List of statements in this block.
1161
1161
pub statements : Vec < Statement < ' tcx > > ,
@@ -1392,7 +1392,7 @@ impl<O: fmt::Debug> fmt::Debug for AssertKind<O> {
1392
1392
///////////////////////////////////////////////////////////////////////////
1393
1393
// Statements
1394
1394
1395
- #[ derive( Clone , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
1395
+ #[ derive( Clone , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
1396
1396
pub struct Statement < ' tcx > {
1397
1397
pub source_info : SourceInfo ,
1398
1398
pub kind : StatementKind < ' tcx > ,
@@ -1758,7 +1758,7 @@ impl SourceScope {
1758
1758
}
1759
1759
}
1760
1760
1761
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
1761
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
1762
1762
pub struct SourceScopeData < ' tcx > {
1763
1763
pub span : Span ,
1764
1764
pub parent_scope : Option < SourceScope > ,
@@ -2524,7 +2524,7 @@ impl<'tcx> ConstantKind<'tcx> {
2524
2524
/// The first will lead to the constraint `w: &'1 str` (for some
2525
2525
/// inferred region `'1`). The second will lead to the constraint `w:
2526
2526
/// &'static str`.
2527
- #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable ) ]
2527
+ #[ derive( Clone , Debug , TyEncodable , TyDecodable , HashStable , TypeFoldable , TypeVisitable ) ]
2528
2528
pub struct UserTypeProjections {
2529
2529
pub contents : Vec < ( UserTypeProjection , Span ) > ,
2530
2530
}
0 commit comments