mtesseract / nakadi-client

Haskell Client Library for the Nakadi Event Broker
Other
13 stars 9 forks source link

Check compatibility with recent Stackage snapshots #102

Open mtesseract opened 6 years ago

mtesseract commented 6 years ago

Apparently there was a build failure with a recent nightly.

mtesseract commented 6 years ago

nakadi-client builds with lts-11.14, but it fails with nightly-2018-06-19:

/home/mclasmeier/src/mtesseract/nakadi-client/src/Network/Nakadi/Internal/Retry.hs:40:16: error:
    Not in scope: ‘L.httpErrorCallback’
    Module ‘Network.Nakadi.Internal.Lenses’ does not export ‘httpErrorCallback’.
   |                                  
40 |   case config^.L.httpErrorCallback of
   |                ^^^^^^^^^^^^^^^^^^^

/home/mclasmeier/src/mtesseract/nakadi-client/src/Network/Nakadi/Internal/Retry.hs:47:51: error:
    Not in scope: ‘L.retryPolicy’     
    Module ‘Network.Nakadi.Internal.Lenses’ does not export ‘retryPolicy’.
   |                                  
47 |           let policy = liftIORetryPolicy (config^.L.retryPolicy)
   |                                                   ^^^^^^^^^^^^^

/home/mclasmeier/src/mtesseract/nakadi-client/src/Network/Nakadi/Internal/Retry.hs:67:43: error:
    Not in scope: ‘L.retryPolicy’     
    Module ‘Network.Nakadi.Internal.Lenses’ does not export ‘retryPolicy’.
   |                                  
67 |   let policy = liftIORetryPolicy (config^.L.retryPolicy)
   |                                           ^^^^^^^^^^^^^

Looks like the lenses for Config m are not generated in Network/Nakadi/Internal/Lenses.hs when using the nightly snapshot.

mtesseract commented 6 years ago

Somehow it fails due to the use of GADT syntax in Config.hs. Using traditional ADT syntax fixes this problem.

Besides that we need to provide an implementation of generalBracket for the the new MonadMask version in Types.hs.