the way we destructure TypeOutlives is incomplete, and probably some other parts of regionck as well.
We must not use resolve_regions in places which are required to be complete.
I previously used the invariant "during coherence mode we have to be complete", but rust-lang/rust#112875 uses resolve_regions and intercrate mode, so it breaks the invariant. Either the invariant is wrong and only "the implicit negative checks" require completeness, or that code is broken and we need to change it somehow.
the way we destructure
TypeOutlivesis incomplete, and probably some other parts of regionck as well.We must not use
resolve_regionsin places which are required to be complete.I previously used the invariant "during coherence mode we have to be complete", but rust-lang/rust#112875 uses
resolve_regionsand intercrate mode, so it breaks the invariant. Either the invariant is wrong and only "the implicit negative checks" require completeness, or that code is broken and we need to change it somehow.