fn extract_spans_for_error_reporting<'tcx>(
infcx: &InferCtxt<'tcx>,
terr: TypeError<'_>,
cause: &ObligationCause<'tcx>,
declaration: DefId,
external_impl: LocalDefId,
) -> (Span, Option<Span>, Ident)fn extract_spans_for_error_reporting<'tcx>(
infcx: &InferCtxt<'tcx>,
terr: TypeError<'_>,
cause: &ObligationCause<'tcx>,
declaration: DefId,
external_impl: LocalDefId,
) -> (Span, Option<Span>, Ident)