@@ -452,12 +452,9 @@ impl<'tcx> SmirCtxt<'tcx> {
452452 pub fn adt_discr_for_variant ( & self , adt : AdtDef , variant : VariantIdx ) -> Discr {
453453 let mut tables = self . 0 . borrow_mut ( ) ;
454454 let tcx = tables. tcx ;
455-
456- let discr = adt
457- . internal ( & mut * tables, tcx)
458- . discriminant_for_variant ( tcx, variant. internal ( & mut * tables, tcx) ) ;
459-
460- Discr { val : discr. val , ty : discr. ty . stable ( & mut * tables) }
455+ let adt = adt. internal ( & mut * tables, tcx) ;
456+ let variant = variant. internal ( & mut * tables, tcx) ;
457+ adt. discriminant_for_variant ( tcx, variant) . stable ( & mut * tables)
461458 }
462459
463460 /// Discriminant for a given variand index and args of a coroutine
@@ -469,14 +466,10 @@ impl<'tcx> SmirCtxt<'tcx> {
469466 ) -> Discr {
470467 let mut tables = self . 0 . borrow_mut ( ) ;
471468 let tcx = tables. tcx ;
472-
473- let discr = args. internal ( & mut * tables, tcx) . as_coroutine ( ) . discriminant_for_variant (
474- coroutine. def_id ( ) . internal ( & mut * tables, tcx) ,
475- tcx,
476- variant. internal ( & mut * tables, tcx) ,
477- ) ;
478-
479- Discr { val : discr. val , ty : discr. ty . stable ( & mut * tables) }
469+ let coroutine = coroutine. def_id ( ) . internal ( & mut * tables, tcx) ;
470+ let args = args. internal ( & mut * tables, tcx) ;
471+ let variant = variant. internal ( & mut * tables, tcx) ;
472+ args. as_coroutine ( ) . discriminant_for_variant ( coroutine, tcx, variant) . stable ( & mut * tables)
480473 }
481474
482475 /// The name of a variant.
0 commit comments