@@ -303,13 +303,7 @@ pub fn monomorphized_mir_body_query(
303
303
subst : Substitution ,
304
304
trait_env : Arc < crate :: TraitEnvironment > ,
305
305
) -> Result < Arc < MirBody > , MirLowerError > {
306
- let g_def = match owner {
307
- DefWithBodyId :: FunctionId ( f) => Some ( f. into ( ) ) ,
308
- DefWithBodyId :: StaticId ( _) => None ,
309
- DefWithBodyId :: ConstId ( f) => Some ( f. into ( ) ) ,
310
- DefWithBodyId :: VariantId ( f) => Some ( f. into ( ) ) ,
311
- } ;
312
- let generics = g_def. map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
306
+ let generics = owner. as_generic_def_id ( ) . map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
313
307
let filler = & mut Filler { db, subst : & subst, trait_env, generics, owner } ;
314
308
let body = db. mir_body ( owner) ?;
315
309
let mut body = ( * body) . clone ( ) ;
@@ -334,13 +328,7 @@ pub fn monomorphized_mir_body_for_closure_query(
334
328
trait_env : Arc < crate :: TraitEnvironment > ,
335
329
) -> Result < Arc < MirBody > , MirLowerError > {
336
330
let ( owner, _) = db. lookup_intern_closure ( closure. into ( ) ) ;
337
- let g_def = match owner {
338
- DefWithBodyId :: FunctionId ( f) => Some ( f. into ( ) ) ,
339
- DefWithBodyId :: StaticId ( _) => None ,
340
- DefWithBodyId :: ConstId ( f) => Some ( f. into ( ) ) ,
341
- DefWithBodyId :: VariantId ( f) => Some ( f. into ( ) ) ,
342
- } ;
343
- let generics = g_def. map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
331
+ let generics = owner. as_generic_def_id ( ) . map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
344
332
let filler = & mut Filler { db, subst : & subst, trait_env, generics, owner } ;
345
333
let body = db. mir_body_for_closure ( closure) ?;
346
334
let mut body = ( * body) . clone ( ) ;
@@ -356,13 +344,7 @@ pub fn monomorphize_mir_body_bad(
356
344
trait_env : Arc < crate :: TraitEnvironment > ,
357
345
) -> Result < MirBody , MirLowerError > {
358
346
let owner = body. owner ;
359
- let g_def = match owner {
360
- DefWithBodyId :: FunctionId ( f) => Some ( f. into ( ) ) ,
361
- DefWithBodyId :: StaticId ( _) => None ,
362
- DefWithBodyId :: ConstId ( f) => Some ( f. into ( ) ) ,
363
- DefWithBodyId :: VariantId ( f) => Some ( f. into ( ) ) ,
364
- } ;
365
- let generics = g_def. map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
347
+ let generics = owner. as_generic_def_id ( ) . map ( |g_def| generics ( db. upcast ( ) , g_def) ) ;
366
348
let filler = & mut Filler { db, subst : & subst, trait_env, generics, owner } ;
367
349
filler. fill_body ( & mut body) ?;
368
350
Ok ( body)
0 commit comments