Add custom exception for fixIO
Traditionally, `fixIO f` throws `BlockedIndefinitelyOnMVar` if `f` is strict. This is not particularly friendly, since the `MVar` in question is just part of the way `fixIO` happens to be implemented. Instead, throw a new `FixIOException` with a better explanation of the problem. Reviewers: austin, hvr, bgamari Subscribers: rwbarton, thomie GHC Trac Issues: #14356 Differential Revision: https://phabricator.haskell.org/D4113
Showing
- libraries/base/Control/Exception/Base.hs 1 addition, 0 deletionslibraries/base/Control/Exception/Base.hs
- libraries/base/GHC/IO/Exception.hs 10 additions, 0 deletionslibraries/base/GHC/IO/Exception.hs
- libraries/base/System/IO.hs 6 additions, 1 deletionlibraries/base/System/IO.hs
- testsuite/tests/mdo/should_fail/mdofail006.stderr 1 addition, 1 deletiontestsuite/tests/mdo/should_fail/mdofail006.stderr
- testsuite/tests/typecheck/should_compile/holes2.stderr 1 addition, 1 deletiontestsuite/tests/typecheck/should_compile/holes2.stderr
Loading
Please register or sign in to comment