pub(crate) fn substs_from_args_and_bindings<'db>(
db: &'db dyn HirDatabase,
store: &ExpressionStore,
args_and_bindings: Option<&GenericArgs>,
def: GenericDefId,
infer_args: bool,
lifetime_elision: LifetimeElisionKind<'db>,
lowering_assoc_type_generics: bool,
explicit_self_ty: Option<Ty<'db>>,
ctx: &mut impl GenericArgsLowerer<'db>,
) -> GenericArgs<'db>