That is to say that we stop when we have a proof that the root package cannot be built, but do not include the last flourish of the proof that "we are required to build the root package because that's what we were asked to build". If I remember reading the original blog post correctly skipping this piece of mostly redundant information was one of the recommendations, so we could decide that this is a feature and not a bug. If we do then the next breaking release should probably remove that type from the reporting infrastructure.
Looking at some converge data it looks like we never hit
https://github.com/pubgrub-rs/pubgrub/blob/cd91684f733e0e1d3e4fe558e6614844159a6919/src/internal/incompatibility.rs#L197-L199
This is because
conflict_resolution
loops untilis_terminal
is truehttps://github.com/pubgrub-rs/pubgrub/blob/cd91684f733e0e1d3e4fe558e6614844159a6919/src/internal/incompatibility.rs#L146-L148
That is to say that we stop when we have a proof that the root package cannot be built, but do not include the last flourish of the proof that "we are required to build the root package because that's what we were asked to build". If I remember reading the original blog post correctly skipping this piece of mostly redundant information was one of the recommendations, so we could decide that this is a feature and not a bug. If we do then the next breaking release should probably remove that type from the reporting infrastructure.