Something must have changed in handling of DuplicateRecordFields in 9.8 as I needed to add it at the root module otherwise
$ cabal build all
Resolving dependencies...
Build profile: -w ghc-9.8.1 -O1
(...)
src/Crypto/Secp256k1.hs:19:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘Msg(..)’ exports the field ‘get’
belonging to the constructor ‘Msg’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
19 | Msg (..),
| ^^^^^^^^
src/Crypto/Secp256k1.hs:23:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘SecKey(..)’ exports the field ‘get’
belonging to the constructor ‘SecKey’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
23 | SecKey (..),
| ^^^^^^^^^^^
src/Crypto/Secp256k1.hs:28:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘PubKey(..)’ exports the field ‘get’
belonging to the constructor ‘PubKey’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
28 | PubKey (..),
| ^^^^^^^^^^^
src/Crypto/Secp256k1.hs:34:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘Sig(..)’ exports the field ‘get’
belonging to the constructor ‘Sig’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
34 | Sig (..),
| ^^^^^^^^
src/Crypto/Secp256k1.hs:45:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘CompactSig(..)’ exports the field ‘get’
belonging to the constructor ‘CompactSig’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
45 | CompactSig (..),
| ^^^^^^^^^^^^^^^
src/Crypto/Secp256k1.hs:51:5: error: [GHC-97219]
Duplicate record field ‘get’ in export list:
‘Tweak(..)’ exports the field ‘get’
belonging to the constructor ‘Tweak’
imported from ‘Crypto.Secp256k1.Internal.Base’ at src/Crypto/Secp256k1.hs:62:1-37
‘Ctx(..)’ exports the field ‘get’
belonging to the constructor ‘Ctx’
imported from ‘Crypto.Secp256k1.Internal.Context’ at src/Crypto/Secp256k1.hs:63:1-40
Suggested fix: Perhaps you intended to use DuplicateRecordFields
|
51 | Tweak (..),
| ^^^^^^^^^^
Error: cabal: Failed to build secp256k1-haskell-1.1.0.
Bumped bounds of libraries bundled with ghc 9.8.
Something must have changed in handling of
DuplicateRecordFields
in 9.8 as I needed to add it at the root module otherwise