@@ -253,7 +253,7 @@ enum ImplTraitContext {
253253 /// equivalent to a fresh universal parameter like `fn foo<T: Debug>(x: T)`.
254254 ///
255255 /// Newly generated parameters should be inserted into the given `Vec`.
256- Universal ( LocalDefId ) ,
256+ Universal ,
257257
258258 /// Treat `impl Trait` as shorthand for a new opaque type.
259259 /// Example: `fn foo() -> impl Debug`, where `impl Debug` is conceptually
@@ -887,7 +887,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
887887 hir:: TypeBindingKind :: Equality { term }
888888 }
889889 AssocConstraintKind :: Bound { ref bounds } => {
890- let mut parent_def_id = self . current_hir_id_owner ;
891890 // Piggy-back on the `impl Trait` context to figure out the correct behavior.
892891 let ( desugar_to_impl_trait, itctx) = match itctx {
893892 // We are in the return position:
@@ -907,10 +906,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
907906 // so desugar to
908907 //
909908 // fn foo(x: dyn Iterator<Item = impl Debug>)
910- ImplTraitContext :: Universal ( parent) if self . is_in_dyn_type => {
911- parent_def_id = parent;
912- ( true , itctx)
913- }
909+ ImplTraitContext :: Universal if self . is_in_dyn_type => ( true , itctx) ,
914910
915911 // In `type Foo = dyn Iterator<Item: Debug>` we desugar to
916912 // `type Foo = dyn Iterator<Item = impl Debug>` but we have to override the
@@ -936,6 +932,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
936932 // Desugar `AssocTy: Bounds` into `AssocTy = impl Bounds`. We do this by
937933 // constructing the HIR for `impl bounds...` and then lowering that.
938934
935+ let parent_def_id = self . current_hir_id_owner ;
939936 let impl_trait_node_id = self . resolver . next_node_id ( ) ;
940937 self . resolver . create_def (
941938 parent_def_id,
@@ -1214,12 +1211,12 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
12141211 |this| this. lower_param_bounds ( bounds, nested_itctx) ,
12151212 )
12161213 }
1217- ImplTraitContext :: Universal ( parent_def_id ) => {
1214+ ImplTraitContext :: Universal => {
12181215 // Add a definition for the in-band `Param`.
12191216 let def_id = self . resolver . local_def_id ( def_node_id) ;
12201217
1221- let hir_bounds = self
1222- . lower_param_bounds ( bounds, ImplTraitContext :: Universal ( parent_def_id ) ) ;
1218+ let hir_bounds =
1219+ self . lower_param_bounds ( bounds, ImplTraitContext :: Universal ) ;
12231220 // Set the name to `impl Bound1 + Bound2`.
12241221 let ident = Ident :: from_str_and_span ( & pprust:: ty_to_string ( t) , span) ;
12251222 let param = hir:: GenericParam {
@@ -1429,10 +1426,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
14291426 }
14301427 let inputs = self . arena . alloc_from_iter ( inputs. iter ( ) . map ( |param| {
14311428 if fn_node_id. is_some ( ) {
1432- self . lower_ty_direct (
1433- & param. ty ,
1434- ImplTraitContext :: Universal ( self . current_hir_id_owner ) ,
1435- )
1429+ self . lower_ty_direct ( & param. ty , ImplTraitContext :: Universal )
14361430 } else {
14371431 self . lower_ty_direct (
14381432 & param. ty ,
0 commit comments