The quick 'n easy way to address this was to push each failable patterns inside of the liftIO block, since even though monad m isn't known to be an instance of MonadFail, we can simply rely on the IO instance.
This PR also cleans up the cabal files so that the test suites (stubs though they are) can be built and run. For example.cabal, there is no library component; the test suite cannot depend on a library that isn't there. For ftp-client-conduit.cabal, there was a typo.
I was able to successfully build these changes against the original stack.yaml in the repo, as well as the following (to test with ghc 8.6):
When compiling with ghc-8.6, I was seeing the following sorts of errors:
See: https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6#MonadFailDesugaringbydefault
The quick 'n easy way to address this was to push each failable patterns inside of the
liftIO
block, since even though monadm
isn't known to be an instance ofMonadFail
, we can simply rely on theIO
instance.This PR also cleans up the cabal files so that the test suites (stubs though they are) can be built and run. For
example.cabal
, there is no library component; the test suite cannot depend on a library that isn't there. Forftp-client-conduit.cabal
, there was a typo.I was able to successfully build these changes against the original stack.yaml in the repo, as well as the following (to test with ghc 8.6):