pub trait CreateSubstsForGenericArgsCtxt<'a, 'tcx> {
// Required methods
fn args_for_def_id(
&mut self,
def_id: DefId
) -> (Option<&'a GenericArgs<'a>>, bool);
fn provided_kind(
&mut self,
param: &GenericParamDef,
arg: &GenericArg<'_>
) -> GenericArg<'tcx>;
fn inferred_kind(
&mut self,
args: Option<&[GenericArg<'tcx>]>,
param: &GenericParamDef,
infer_args: bool
) -> GenericArg<'tcx>;
}