GHC 9 support.

Apparently something in the typechecker got more ornery, because
passing the actions to `mask_` and `uninterruptibleMask_` using
`const` produced an error about not being able to instantiate
unification variables with polytypes.
main
Patrick Thomson 2021-04-07 18:27:00 -04:00
parent ae2d4e9ce8
commit b62dafd3ef
3 changed files with 8 additions and 4 deletions

View File

@ -1,8 +1,11 @@
# 1.1.0.1
* GHC 9 support.
# 1.1.0.0 # 1.1.0.0
* Port to fused-effects 1.1. * Port to fused-effects 1.1.
# 1.0.0.0 # 1.0.0.0
* Port to fused-effects 1.0. * Port to fused-effects 1.0.

View File

@ -1,7 +1,7 @@
cabal-version: 2.4 cabal-version: 2.4
name: fused-effects-exceptions name: fused-effects-exceptions
version: 1.1.0.0 version: 1.1.0.1
synopsis: Handle exceptions thrown in IO with fused-effects. synopsis: Handle exceptions thrown in IO with fused-effects.
description: Provides Resource and Catch effects capable of reacting to and catching GHC's dynamic exceptions. description: Provides Resource and Catch effects capable of reacting to and catching GHC's dynamic exceptions.
homepage: https://github.com/fused-effects/fused-effects-exceptions#readme homepage: https://github.com/fused-effects/fused-effects-exceptions#readme
@ -22,6 +22,7 @@ tested-with:
GHC == 8.6.5 GHC == 8.6.5
GHC == 8.8.3 GHC == 8.8.3
GHC == 8.10.1 GHC == 8.10.1
GHC == 9.0.1
common common common common
default-language: Haskell2010 default-language: Haskell2010

View File

@ -166,7 +166,7 @@ mask with = liftWith $ \ run ctx -> Exc.mask $ \ restore ->
-- --
-- @since 1.0.0.0 -- @since 1.0.0.0
mask_ :: Has (Lift IO) sig m => m a -> m a mask_ :: Has (Lift IO) sig m => m a -> m a
mask_ m = mask $ const m mask_ m = mask (\_ -> m)
-- | See @"Control.Exception".'Exc.uninterruptibleMask'@. -- | See @"Control.Exception".'Exc.uninterruptibleMask'@.
-- --
@ -179,7 +179,7 @@ uninterruptibleMask with = liftWith $ \ run ctx -> Exc.uninterruptibleMask $ \ r
-- --
-- @since 1.0.0.0 -- @since 1.0.0.0
uninterruptibleMask_ :: Has (Lift IO) sig m => m a -> m a uninterruptibleMask_ :: Has (Lift IO) sig m => m a -> m a
uninterruptibleMask_ m = uninterruptibleMask $ const m uninterruptibleMask_ m = uninterruptibleMask (\_ -> m)
-- | See @"Control.Exception".'Exc.getMaskingState'@. -- | See @"Control.Exception".'Exc.getMaskingState'@.
-- --