summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/Err.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/base/GHC/Err.hs')
-rw-r--r--libraries/base/GHC/Err.hs19
1 files changed, 10 insertions, 9 deletions
diff --git a/libraries/base/GHC/Err.hs b/libraries/base/GHC/Err.hs
index 4231fcefa5..095ccd8dd7 100644
--- a/libraries/base/GHC/Err.hs
+++ b/libraries/base/GHC/Err.hs
@@ -1,6 +1,6 @@
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE NoImplicitPrelude, MagicHash, ImplicitParams #-}
-{-# LANGUAGE RankNTypes, TypeInType #-}
+{-# LANGUAGE RankNTypes, PolyKinds, DataKinds #-}
{-# OPTIONS_HADDOCK hide #-}
-----------------------------------------------------------------------------
@@ -27,10 +27,14 @@ import GHC.CString ()
import GHC.Types (Char, RuntimeRep)
import GHC.Stack.Types
import GHC.Prim
-import GHC.Integer () -- Make sure Integer is compiled first
- -- because GHC depends on it in a wired-in way
- -- so the build system doesn't see the dependency
-import {-# SOURCE #-} GHC.Exception( errorCallWithCallStackException )
+import GHC.Integer () -- Make sure Integer and Natural are compiled first
+import GHC.Natural () -- because GHC depends on it in a wired-in way
+ -- so the build system doesn't see the dependency.
+ -- See Note [Depend on GHC.Integer] and
+ -- Note [Depend on GHC.Natural] in GHC.Base.
+import {-# SOURCE #-} GHC.Exception
+ ( errorCallWithCallStackException
+ , errorCallException )
-- | 'error' stops execution and displays an error message.
error :: forall (r :: RuntimeRep). forall (a :: TYPE r).
@@ -46,10 +50,7 @@ error s = raise# (errorCallWithCallStackException s ?callStack)
-- @since 4.9.0.0
errorWithoutStackTrace :: forall (r :: RuntimeRep). forall (a :: TYPE r).
[Char] -> a
-errorWithoutStackTrace s =
- -- we don't have withFrozenCallStack yet, so we just inline the definition
- let ?callStack = freezeCallStack emptyCallStack
- in error s
+errorWithoutStackTrace s = raise# (errorCallException s)
-- Note [Errors in base]