From a809e03b377374cacaf2e30b1fd24face21ec6f7 Mon Sep 17 00:00:00 2001 From: Phil de Joux Date: Mon, 30 Oct 2023 10:04:05 -0400 Subject: [PATCH] Reword the note --- doc/cabal-package.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/cabal-package.rst b/doc/cabal-package.rst index 2cc9984fe1c..52c00140d9f 100644 --- a/doc/cabal-package.rst +++ b/doc/cabal-package.rst @@ -1481,13 +1481,15 @@ system-dependent values for these fields. .. Note:: - To avoid package versions when there is no `not equal` operator, use - ``<`` and ``>`` in combination with the ``||`` operator. We might want to - do this to avoid a deprecated version or to skip versions. For example, - the `time =1.12.*` series depends on `base >=4.13 && <5` but - `time-1.12.3` bumps the lower bound on base to `4.14`. If we still want - to compile with a `ghc-8.8.*` version of GHC that ships with `base-4.13`, - then we can use `time >=1.12 && (time <1.12.3 || time >1.12.3)`. + Even though there is no `not equal` operator, by combining ``<`` and + ``>`` with ``||``, we can skip over one or more versions. + + We can skip a deprecated version or we can skip versions that upset the + solver. For example, the `time =1.12.*` series depends on `base >=4.13 + && <5` but `time-1.12.3` bumps the lower bound on base to `4.14`. If we + still want to compile with a `ghc-8.8.*` version of GHC that ships with + `base-4.13`, then we can use `time >=1.12 && (time <1.12.3 || time + >1.12.3)`. If no version constraint is specified, any version is assumed to be acceptable. For example: