Skip to content
Snippets Groups Projects
  • Andres Löh's avatar
    a246b17e
    When lifting dependencies, compute the union of the ranges. · a246b17e
    Andres Löh authored
    For a while now, we lift out dependencies from conditionals.  If a
    package is dependended on regardless of the outcome of a test, the
    dependency is lifted out. This has the advantage that we can choose an
    instance for the package prior to choosing the value of the flag. Often,
    this is the desired behaviour for flags, i.e., to have the flag choice
    implied by the possible package choices, rather than the other way
    around.
    
    Prior to this change, lifting was simply adding an unconstrained
    dependency to such a package at a higher level, which would then of
    course still be refined after making the flag choice. We are now making
    this more precise by actually computing the union of the ranges in both
    branches of the conditional. So we will not choose an instance on the
    top level that will later be rejected by both branches.
    a246b17e
    History
    When lifting dependencies, compute the union of the ranges.
    Andres Löh authored
    For a while now, we lift out dependencies from conditionals.  If a
    package is dependended on regardless of the outcome of a test, the
    dependency is lifted out. This has the advantage that we can choose an
    instance for the package prior to choosing the value of the flag. Often,
    this is the desired behaviour for flags, i.e., to have the flag choice
    implied by the possible package choices, rather than the other way
    around.
    
    Prior to this change, lifting was simply adding an unconstrained
    dependency to such a package at a higher level, which would then of
    course still be refined after making the flag choice. We are now making
    this more precise by actually computing the union of the ranges in both
    branches of the conditional. So we will not choose an instance on the
    top level that will later be rejected by both branches.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
IndexConversion.hs 10.40 KiB