Skip to content

Commit

Permalink
Merge pull request #3704 from RyanGlScott/doc2
Browse files Browse the repository at this point in the history
Clarify what logical negation of impl with version ranges means
  • Loading branch information
ezyang authored Aug 17, 2016
2 parents c2c5d36 + f658805 commit 31af6ee
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions Cabal/doc/developing-packages.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -1721,6 +1721,20 @@ The following tests are currently supported.
version constraint, then this evaluates to true, otherwise false.
The match is case-insensitive.

Note that including a version constraint in an `impl` test causes it
to check for two properties:

* The current compiler has the specified name, and

* The compiler's version satisfied the specified version constraint

As a result, `!impl(ghc >= x.y.z)` is not entirely equivalent to
`impl(ghc < x.y.z)`. The test `!impl(ghc >= x.y.z)` checks that:

* The current compiler is not GHC, or

* The version of GHC is earlier than version x.y.z.

`flag(`_name_`)`
: Evaluates to the current assignment of the flag of the given name.
Flag names are case insensitive. Testing for flags that have not
Expand Down

0 comments on commit 31af6ee

Please sign in to comment.