fn negative_impl_exists<'tcx>(
    infcx: &InferCtxt<'tcx>,
    o: &PredicateObligation<'tcx>,
    body_def_id: DefId
) -> bool
Expand description

Try to prove that a negative impl exist for the obligation or its supertraits.

If such a negative impl exists, then the obligation definitely must not hold due to coherence, even if it’s not necessarily “knowable” in this crate. Any valid impl downstream would not be able to exist due to the overlapping negative impl.