Skip to content

copilot: Executables lack version bounds around dependencies #735

@ivanperez-keera

Description

@ivanperez-keera

Description

Several executables declared in the package copilot lack version bounds around dependencies. Specifically, several examples related to what4 lack version bounds on base and containers. While the former is deduced from the version bounds imposed by the library and other executables in the package, the same cannot be said about containers, since only what4-arithmetic-counterexamples depends on it.

This lack of version bounds also causes a warning when uploading the package to Hackage:

Warnings:                                                                        
- [missing-upper-bounds] On executable 'what4-arithmetic-counterexamples',       
these packages miss upper bounds:                                                
- containers

Just like we should avoid warnings in code, so should we in package specifications.

Type

  • Management: Cabal file is missing version information, leading to a warning.

Additional context

None.

Requester

  • Ivan Perez.

Method to check presence of bug

It's not possible to check automatically. The check is done by opening the cabal files and checking whether all dependencies of all components specify version bounds for all packages that are not part of the Copilot project.

Expected result

All executables in the copilot package specify version bounds for all dependencies that are not part of the Copilot project.

Desired result

All executables in the copilot package specify version bounds for all dependencies that are not part of the Copilot project.

Proposed solution

Add version bounds for base in all executables in copilot/copilot.cabal, matching the version constraints applied to base elsewhere in the package.

Add version bounds on containers for what4-arithmetic-counterexamples in copilot/copilot.cabal, matching the version constraints applied to containers elsewhere in the Copilot project.

Further notes

None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CR:Status:AcceptedAdmin only: Change request accepted by technical leadCR:Type:ManagementAdmin only: Change request for conformance with policies or procedures

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions