@@ -196,15 +196,15 @@ impl<'tcx> TypeVariableTable<'_, 'tcx> {
196
196
/// Note that this function does not return care whether
197
197
/// `vid` has been unified with something else or not.
198
198
pub fn var_diverges ( & self , vid : ty:: TyVid ) -> Diverging {
199
- self . storage . values . get ( vid. index as usize ) . diverging
199
+ self . storage . values . get ( vid. index ( ) ) . diverging
200
200
}
201
201
202
202
/// Returns the origin that was given when `vid` was created.
203
203
///
204
204
/// Note that this function does not return care whether
205
205
/// `vid` has been unified with something else or not.
206
206
pub fn var_origin ( & self , vid : ty:: TyVid ) -> & TypeVariableOrigin {
207
- & self . storage . values . get ( vid. index as usize ) . origin
207
+ & self . storage . values . get ( vid. as_usize ( ) ) . origin
208
208
}
209
209
210
210
/// Records that `a == b`, depending on `dir`.
@@ -269,7 +269,7 @@ impl<'tcx> TypeVariableTable<'_, 'tcx> {
269
269
assert_eq ! ( eq_key. vid, sub_key) ;
270
270
271
271
let index = self . values ( ) . push ( TypeVariableData { origin, diverging } ) ;
272
- assert_eq ! ( eq_key. vid. index , index as u32 ) ;
272
+ assert_eq ! ( eq_key. vid. as_u32 ( ) , index as u32 ) ;
273
273
274
274
debug ! (
275
275
"new_var(index={:?}, universe={:?}, diverging={:?}, origin={:?}" ,
@@ -357,11 +357,11 @@ impl<'tcx> TypeVariableTable<'_, 'tcx> {
357
357
& mut self ,
358
358
value_count : usize ,
359
359
) -> ( Range < TyVid > , Vec < TypeVariableOrigin > ) {
360
- let range = TyVid { index : value_count as u32 } ..TyVid { index : self . num_vars ( ) as u32 } ;
360
+ let range = TyVid :: from_usize ( value_count) ..TyVid :: from_usize ( self . num_vars ( ) ) ;
361
361
(
362
362
range. start ..range. end ,
363
- ( range. start . index ..range. end . index )
364
- . map ( |index| self . storage . values . get ( index as usize ) . origin )
363
+ ( range. start . as_usize ( ) ..range. end . as_usize ( ) )
364
+ . map ( |index| self . storage . values . get ( index) . origin )
365
365
. collect ( ) ,
366
366
)
367
367
}
@@ -371,7 +371,7 @@ impl<'tcx> TypeVariableTable<'_, 'tcx> {
371
371
pub fn unsolved_variables ( & mut self ) -> Vec < ty:: TyVid > {
372
372
( 0 ..self . storage . values . len ( ) )
373
373
. filter_map ( |i| {
374
- let vid = ty:: TyVid { index : i as u32 } ;
374
+ let vid = ty:: TyVid :: from_usize ( i ) ;
375
375
match self . probe ( vid) {
376
376
TypeVariableValue :: Unknown { .. } => Some ( vid) ,
377
377
TypeVariableValue :: Known { .. } => None ,
@@ -424,10 +424,10 @@ impl<'tcx> ut::UnifyKey for TyVidEqKey<'tcx> {
424
424
type Value = TypeVariableValue < ' tcx > ;
425
425
#[ inline( always) ]
426
426
fn index ( & self ) -> u32 {
427
- self . vid . index
427
+ self . vid . as_u32 ( )
428
428
}
429
429
fn from_index ( i : u32 ) -> Self {
430
- TyVidEqKey :: from ( ty:: TyVid { index : i } )
430
+ TyVidEqKey :: from ( ty:: TyVid :: from_u32 ( i ) )
431
431
}
432
432
fn tag ( ) -> & ' static str {
433
433
"TyVidEqKey"
0 commit comments