Closed
Description
Up until version 3.14, the public module Distribution.Simple
of Cabal-the-library has been exporting these names:
GlobalPackageDB
UserPackageDB
SpecificPackageDB
as constructors of PackageDB
data type (indirectly, via reexport of Distribution.Simple.Compiler).
The patchset #10256, specifically commit 90fbf08, having shuffled the definitions a little bit, is now causing compile errors in either of two forms:
src/Distribution/Extra/Doctest.hs:481:8: error: [GHC-76037]
Not in scope: data constructor ‘GlobalPackageDB’
Suggested fix:
Perhaps you want to add ‘GlobalPackageDB’
to one of these import lists:
‘Distribution.Simple’ (src/Distribution/Extra/Doctest.hs:(66,1)-(68,23))
‘Distribution.Simple.Compiler’ (src/Distribution/Extra/Doctest.hs:(69,1)-(70,74))
|
481 | (GlobalPackageDB:dbs)
| ^^^^^^^^^^^^^^^
with import Distribution.Simple.Compiler (PackageDB(..))
being already there;
or
src/Distribution/Extra/Doctest.hs:70:59: error:
In module ‘Distribution.Simple.Compiler’:
‘GlobalPackageDB’ is a data constructor of ‘PackageDBX’
To import it use
import Distribution.Simple.Compiler( PackageDBX( GlobalPackageDB ) )
or
import Distribution.Simple.Compiler( PackageDBX(..) )
|
70 | (CompilerFlavor (GHC), CompilerId (..), PackageDB, GlobalPackageDB, UserPackageDB, SpecificPackageDB, compilerId)
| ^^^^^^^^^^^^^^^
Please at least document this in release notes, as it's a breaking change.
(BTW there's no 3.14.0.0 on https://github.com/haskell/cabal/releases )