Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External::NotRoot never constructed. #130

Open
Eh2406 opened this issue Jun 12, 2023 · 0 comments
Open

External::NotRoot never constructed. #130

Eh2406 opened this issue Jun 12, 2023 · 0 comments

Comments

@Eh2406
Copy link
Member

Eh2406 commented Jun 12, 2023

Looking at some converge data it looks like we never hit

Kind::NotRoot(package, version) => {
DerivationTree::External(External::NotRoot(package.clone(), version.clone()))
}

This is because conflict_resolution loops until is_terminal is true

/// Check if an incompatibility should mark the end of the algorithm
/// because it satisfies the root package.
pub fn is_terminal(&self, root_package: &P, root_version: &V) -> bool {

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.

@Eh2406 Eh2406 added this to the v0.4 Dependency constraints milestone Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant