fn rematch_impl<'tcx>(
    infcx: &InferCtxt<'tcx>,
    goal: Goal<'tcx, TraitPredicate<'tcx>>,
    impl_def_id: DefId
) -> SelectionResult<'tcx, Selection<'tcx>>