@@ -1318,27 +1318,16 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1318
1318
infer_args : bool ,
1319
1319
) -> ty:: GenericArg < ' tcx > {
1320
1320
let tcx = self . fcx . tcx ( ) ;
1321
- match param. kind {
1322
- GenericParamDefKind :: Lifetime => self
1323
- . fcx
1324
- . re_infer (
1325
- self . span ,
1326
- rustc_hir_analysis:: hir_ty_lowering:: RegionInferReason :: Param ( param) ,
1327
- )
1328
- . into ( ) ,
1329
- GenericParamDefKind :: Type { .. } | GenericParamDefKind :: Const { .. } => {
1330
- if !infer_args && let Some ( default) = param. default_value ( tcx) {
1331
- // If we have a default, then it doesn't matter that we're not inferring
1332
- // the type/const arguments: We provide the default where any is missing.
1333
- return default. instantiate ( tcx, preceding_args) ;
1334
- }
1335
- // If no type/const arguments were provided, we have to infer them.
1336
- // This case also occurs as a result of some malformed input, e.g.,
1337
- // a lifetime argument being given instead of a type/const parameter.
1338
- // Using inference instead of `Error` gives better error messages.
1339
- self . fcx . var_for_def ( self . span , param)
1340
- }
1321
+ if !infer_args && let Some ( default) = param. default_value ( tcx) {
1322
+ // If we have a default, then it doesn't matter that we're not inferring
1323
+ // the type/const arguments: We provide the default where any is missing.
1324
+ return default. instantiate ( tcx, preceding_args) ;
1341
1325
}
1326
+ // If no type/const arguments were provided, we have to infer them.
1327
+ // This case also occurs as a result of some malformed input, e.g.,
1328
+ // a lifetime argument being given instead of a type/const parameter.
1329
+ // Using inference instead of `Error` gives better error messages.
1330
+ self . fcx . var_for_def ( self . span , param)
1342
1331
}
1343
1332
}
1344
1333
0 commit comments