pub(crate) fn parameters_for<'tcx>(
    tcx: TyCtxt<'tcx>,
    value: impl TypeFoldable<TyCtxt<'tcx>>,
    include_nonconstraining: bool,
) -> Vec<Parameter>
Expand description

If include_nonconstraining is false, returns the list of parameters that are constrained by value - i.e., the value of each parameter in the list is uniquely determined by value (see RFC 447). If it is true, return the list of parameters whose values are needed in order to constrain value - these differ, with the latter being a superset, in the presence of projections.