@@ -164,7 +164,7 @@ fn layout_of_simd_ty(
164164 } ;
165165
166166 // Compute the ABI of the element type:
167- let e_ly = db. layout_of_ty ( e_ty, env. clone ( ) ) ?;
167+ let e_ly = db. layout_of_ty ( e_ty, env) ?;
168168 let Abi :: Scalar ( e_abi) = e_ly. abi else {
169169 return Err ( LayoutError :: Unknown ) ;
170170 } ;
@@ -204,17 +204,17 @@ pub fn layout_of_ty_query(
204204 } ;
205205 let cx = LayoutCx { target : & target } ;
206206 let dl = & * cx. current_data_layout ( ) ;
207- let ty = normalize ( db, trait_env. clone ( ) , ty. clone ( ) ) ;
207+ let ty = normalize ( db, trait_env. clone ( ) , ty) ;
208208 let result = match ty. kind ( Interner ) {
209209 TyKind :: Adt ( AdtId ( def) , subst) => {
210210 if let hir_def:: AdtId :: StructId ( s) = def {
211211 let data = db. struct_data ( * s) ;
212212 let repr = data. repr . unwrap_or_default ( ) ;
213213 if repr. simd ( ) {
214- return layout_of_simd_ty ( db, * s, subst, trait_env. clone ( ) , & target) ;
214+ return layout_of_simd_ty ( db, * s, subst, trait_env, & target) ;
215215 }
216216 } ;
217- return db. layout_of_adt ( * def, subst. clone ( ) , trait_env. clone ( ) ) ;
217+ return db. layout_of_adt ( * def, subst. clone ( ) , trait_env) ;
218218 }
219219 TyKind :: Scalar ( s) => match s {
220220 chalk_ir:: Scalar :: Bool => Layout :: scalar (
@@ -280,7 +280,7 @@ pub fn layout_of_ty_query(
280280 }
281281 TyKind :: Array ( element, count) => {
282282 let count = try_const_usize ( db, & count) . ok_or ( LayoutError :: HasErrorConst ) ? as u64 ;
283- let element = db. layout_of_ty ( element. clone ( ) , trait_env. clone ( ) ) ?;
283+ let element = db. layout_of_ty ( element. clone ( ) , trait_env) ?;
284284 let size = element. size . checked_mul ( count, dl) . ok_or ( LayoutError :: SizeOverflow ) ?;
285285
286286 let abi = if count != 0 && matches ! ( element. abi, Abi :: Uninhabited ) {
@@ -303,7 +303,7 @@ pub fn layout_of_ty_query(
303303 }
304304 }
305305 TyKind :: Slice ( element) => {
306- let element = db. layout_of_ty ( element. clone ( ) , trait_env. clone ( ) ) ?;
306+ let element = db. layout_of_ty ( element. clone ( ) , trait_env) ?;
307307 Layout {
308308 variants : Variants :: Single { index : struct_variant_idx ( ) } ,
309309 fields : FieldsShape :: Array { stride : element. size , count : 0 } ,
@@ -345,7 +345,7 @@ pub fn layout_of_ty_query(
345345 } ) )
346346 . intern ( Interner ) ;
347347 }
348- unsized_part = normalize ( db, trait_env. clone ( ) , unsized_part) ;
348+ unsized_part = normalize ( db, trait_env, unsized_part) ;
349349 let metadata = match unsized_part. kind ( Interner ) {
350350 TyKind :: Slice ( _) | TyKind :: Str => {
351351 scalar_unit ( dl, Primitive :: Int ( dl. ptr_sized_integer ( ) , false ) )
@@ -384,7 +384,7 @@ pub fn layout_of_ty_query(
384384 match impl_trait_id {
385385 crate :: ImplTraitId :: ReturnTypeImplTrait ( func, idx) => {
386386 let infer = db. infer ( func. into ( ) ) ;
387- return db. layout_of_ty ( infer. type_of_rpit [ idx] . clone ( ) , trait_env. clone ( ) ) ;
387+ return db. layout_of_ty ( infer. type_of_rpit [ idx] . clone ( ) , trait_env) ;
388388 }
389389 crate :: ImplTraitId :: AsyncBlockTypeImplTrait ( _, _) => {
390390 return Err ( LayoutError :: NotImplemented )
0 commit comments