Commit e5d01011 authored by Ben Gamari's avatar Ben Gamari 🐢

base: Deprecate STM invariant checking primitives

parent d8a0e6d3
......@@ -782,6 +782,18 @@ catchSTM (STM m) handler = STM $ catchSTM# m handler'
Just e' -> unSTM (handler e')
Nothing -> raiseIO# e
-- Invariant checking has been removed. See #14324 and
-- https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0011-deprecate-stm-invariants.rst
{-# DEPRECATED checkInv, always, alwaysSucceeds
[ "The STM invariant-checking mechanism is deprecated in GHC 8.4"
, "and will be removed in GHC 8.10. See "
, "<https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0011-deprecate-stm-invariants.rst>."
, ""
, "Existing users are encouraged to encapsulate their STM"
, "operations in safe abstractions which can perform the invariant"
, "checking without help from the runtime system."
] #-}
-- | Low-level primitive on which 'always' and 'alwaysSucceeds' are built.
-- 'checkInv' differs from these in that,
--
......
......@@ -76,6 +76,9 @@
* `getExecutablePath` now resolves symlinks on Windows (#14483)
* Deprecated STM invariant checking primitives (`checkInv`, `always`, and
`alwaysSucceeds`) in `GHC.Conc.Sync` (#14324).
## 4.10.1.0 *November 2017*
* Bundled with GHC 8.2.2
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment