@@ -445,12 +445,9 @@ impl<'tcx> SmirCtxt<'tcx> {
445445 pub fn adt_discr_for_variant ( & self , adt : AdtDef , variant : VariantIdx ) -> Discr {
446446 let mut tables = self . 0 . borrow_mut ( ) ;
447447 let tcx = tables. tcx ;
448-
449- let discr = adt
450- . internal ( & mut * tables, tcx)
451- . discriminant_for_variant ( tcx, variant. internal ( & mut * tables, tcx) ) ;
452-
453- Discr { val : discr. val , ty : discr. ty . stable ( & mut * tables) }
448+ let adt = adt. internal ( & mut * tables, tcx) ;
449+ let variant = variant. internal ( & mut * tables, tcx) ;
450+ adt. discriminant_for_variant ( tcx, variant) . stable ( & mut * tables)
454451 }
455452
456453 /// Discriminant for a given variand index and args of a coroutine
@@ -462,14 +459,10 @@ impl<'tcx> SmirCtxt<'tcx> {
462459 ) -> Discr {
463460 let mut tables = self . 0 . borrow_mut ( ) ;
464461 let tcx = tables. tcx ;
465-
466- let discr = args. internal ( & mut * tables, tcx) . as_coroutine ( ) . discriminant_for_variant (
467- coroutine. def_id ( ) . internal ( & mut * tables, tcx) ,
468- tcx,
469- variant. internal ( & mut * tables, tcx) ,
470- ) ;
471-
472- Discr { val : discr. val , ty : discr. ty . stable ( & mut * tables) }
462+ let coroutine = coroutine. def_id ( ) . internal ( & mut * tables, tcx) ;
463+ let args = args. internal ( & mut * tables, tcx) ;
464+ let variant = variant. internal ( & mut * tables, tcx) ;
465+ args. as_coroutine ( ) . discriminant_for_variant ( coroutine, tcx, variant) . stable ( & mut * tables)
473466 }
474467
475468 /// The name of a variant.
0 commit comments