Function rustc_trait_selection::traits::specialize::translate_args_with_cause
source · pub fn translate_args_with_cause<'tcx>(
infcx: &InferCtxt<'tcx>,
param_env: ParamEnv<'tcx>,
source_impl: DefId,
source_args: GenericArgsRef<'tcx>,
target_node: Node,
cause: impl Fn(usize, Span) -> ObligationCause<'tcx>
) -> GenericArgsRef<'tcx>
Expand description
Like translate_args, but obligations from the parent implementation
are registered with the provided ObligationCause
.
This is for reporting region errors from those bounds. Type errors should not happen because the specialization graph already checks for those, and will result in an ICE.