Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
-
3cfb2e58
by fendor at 2026-02-16T09:13:58-05:00
27 changed files:
- libraries/base/changelog.md
- libraries/ghc-internal/src/GHC/Internal/Exception.hs
- libraries/ghc-internal/src/GHC/Internal/STM.hs
- + libraries/ghc-internal/tests/backtraces/T15395.hs
- + libraries/ghc-internal/tests/backtraces/T15395.stdout
- libraries/ghc-internal/tests/backtraces/all.T
- libraries/ghc-internal/tests/stack-annotation/ann_frame005.stdout
- testsuite/tests/arrows/should_compile/T21301.stderr
- testsuite/tests/deSugar/should_fail/DsStrictFail.stderr
- testsuite/tests/deSugar/should_run/T20024.stderr
- testsuite/tests/deSugar/should_run/dsrun005.stderr
- testsuite/tests/deSugar/should_run/dsrun007.stderr
- testsuite/tests/deSugar/should_run/dsrun008.stderr
- testsuite/tests/deriving/should_run/T9576.stderr
- testsuite/tests/ghci/scripts/Defer02.stderr
- testsuite/tests/ghci/scripts/T15325.stderr
- testsuite/tests/patsyn/should_run/ghci.stderr
- testsuite/tests/quotes/LiftErrMsgDefer.stderr
- testsuite/tests/safeHaskell/safeLanguage/SafeLang15.stderr
- testsuite/tests/type-data/should_run/T22332a.stderr
- testsuite/tests/typecheck/should_run/T10284.stderr
- testsuite/tests/typecheck/should_run/T13838.stderr
- testsuite/tests/typecheck/should_run/T9497a-run.stderr
- testsuite/tests/typecheck/should_run/T9497b-run.stderr
- testsuite/tests/typecheck/should_run/T9497c-run.stderr
- testsuite/tests/unsatisfiable/T23816.stderr
- testsuite/tests/unsatisfiable/UnsatDefer.stderr
Changes:
| ... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 | * Export `labelThread` from `Control.Concurrent`.([CLC proposal #376](https://github.com/haskell/core-libraries-committee/issues/376))
|
| 26 | 26 | * Add a new module `System.IO.OS` with operations for obtaining operating-system handles (file descriptors, Windows handles). ([CLC proposal #369](https://github.com/haskell/core-libraries-committee/issues/369))
|
| 27 | 27 | * Evaluate backtraces for "error" exceptions at the moment they are thrown. ([CLC proposal #383](https://github.com/haskell/core-libraries-committee/issues/383))
|
| 28 | + * Hide implementation details when throwing exceptions in throw and throwSTM. ([CLC proposal #387](https://github.com/haskell/core-libraries-committee/issues/387))
|
|
| 28 | 29 | |
| 29 | 30 | ## 4.22.0.0 *TBA*
|
| 30 | 31 | * Shipped with GHC 9.14.1
|
| ... | ... | @@ -87,7 +87,7 @@ throw e = |
| 87 | 87 | -- Note also the absolutely crucial `noinine` in the RHS!
|
| 88 | 88 | -- See Note [Hiding precise exception signature in throw]
|
| 89 | 89 | let se :: SomeException
|
| 90 | - !se = noinline (unsafePerformIO (toExceptionWithBacktrace e))
|
|
| 90 | + !se = noinline (unsafePerformIO (withFrozenCallStack $ toExceptionWithBacktrace e))
|
|
| 91 | 91 | in raise# se
|
| 92 | 92 | |
| 93 | 93 | -- Note [Capturing the backtrace in throw]
|
| ... | ... | @@ -162,7 +162,12 @@ throw e = |
| 162 | 162 | -- primops which allow more precise guidance of the demand analyser's heuristic
|
| 163 | 163 | -- (e.g. #23847).
|
| 164 | 164 | |
| 165 | --- | @since base-4.20.0.0
|
|
| 165 | +-- | Collect a Backtrace and attach it to the 'Exception'.
|
|
| 166 | +--
|
|
| 167 | +-- It is recommended to use 'withFrozenCallStack' when calling this function
|
|
| 168 | +-- in order to avoid leaking implementation details of 'toExceptionWithBacktrace'.
|
|
| 169 | +--
|
|
| 170 | +-- @since base-4.20.0.0
|
|
| 166 | 171 | toExceptionWithBacktrace :: (HasCallStack, Exception e)
|
| 167 | 172 | => e -> IO SomeException
|
| 168 | 173 | toExceptionWithBacktrace e
|
| ... | ... | @@ -28,7 +28,7 @@ import GHC.Internal.Base |
| 28 | 28 | import GHC.Internal.Exception (Exception, toExceptionWithBacktrace, fromException, addExceptionContext)
|
| 29 | 29 | import GHC.Internal.Exception.Context (ExceptionAnnotation)
|
| 30 | 30 | import GHC.Internal.Exception.Type (WhileHandling(..))
|
| 31 | -import GHC.Internal.Stack (HasCallStack)
|
|
| 31 | +import GHC.Internal.Stack (HasCallStack, withFrozenCallStack)
|
|
| 32 | 32 | |
| 33 | 33 | -- TVars are shared memory locations which support atomic memory
|
| 34 | 34 | -- transactions.
|
| ... | ... | @@ -187,7 +187,7 @@ throwSTM e = do |
| 187 | 187 | -- N.B. Typically use of unsafeIOToSTM is very much frowned upon as this
|
| 188 | 188 | -- is an easy way to end up with nested transactions. However, we can be
|
| 189 | 189 | -- certain that toExceptionWithBacktrace will not initiate a transaction.
|
| 190 | - se <- unsafeIOToSTM (toExceptionWithBacktrace e)
|
|
| 190 | + se <- unsafeIOToSTM (withFrozenCallStack $ toExceptionWithBacktrace e)
|
|
| 191 | 191 | STM $ raiseIO# se
|
| 192 | 192 | |
| 193 | 193 | -- | Exception handling within STM actions.
|
| 1 | +{-# LANGUAGE LambdaCase #-}
|
|
| 2 | +{-# LANGUAGE TypeApplications #-}
|
|
| 3 | + |
|
| 4 | +import GHC.Internal.Control.Exception
|
|
| 5 | +import GHC.Internal.Data.Foldable (traverse_)
|
|
| 6 | +import GHC.Internal.Exception.Backtrace
|
|
| 7 | +import GHC.Internal.Exception.Context
|
|
| 8 | +import GHC.Internal.Exception.Type
|
|
| 9 | +import GHC.Internal.STM (atomically, throwSTM)
|
|
| 10 | +import qualified GHC.Internal.Stack as HCS
|
|
| 11 | +import qualified GHC.Internal.Stack.Types as HCS
|
|
| 12 | +import Control.Monad (when)
|
|
| 13 | +import qualified Data.List as List
|
|
| 14 | +import System.Exit (exitFailure)
|
|
| 15 | + |
|
| 16 | +main :: IO ()
|
|
| 17 | +main = do
|
|
| 18 | + -- Make sure there are HasCallStackBacktraces
|
|
| 19 | + setBacktraceMechanismState HasCallStackBacktrace True
|
|
| 20 | + mapM_ (uncurry runCase)
|
|
| 21 | + [ ("throw", throwAction)
|
|
| 22 | + , ("throwIO", throwIOAction)
|
|
| 23 | + , ("error", errorAction)
|
|
| 24 | + , ("throwSTM", throwSTMAction)
|
|
| 25 | + , ("undefined", undefinedAction)
|
|
| 26 | + ]
|
|
| 27 | + |
|
| 28 | +runCase :: String -> IO () -> IO ()
|
|
| 29 | +runCase name act = do
|
|
| 30 | + putStrLn $ "=== Validate stack size of '" ++ name ++ "' has length 1"
|
|
| 31 | + catchAndVerifyStackTraceLength name act
|
|
| 32 | + putStrLn ""
|
|
| 33 | + |
|
| 34 | +throwAction :: IO ()
|
|
| 35 | +throwAction = evaluate $ throw $ ErrorCall "my throw error"
|
|
| 36 | + |
|
| 37 | +throwIOAction :: IO ()
|
|
| 38 | +throwIOAction = throwIO $ ErrorCall "my throwIO error"
|
|
| 39 | + |
|
| 40 | +errorAction :: IO ()
|
|
| 41 | +errorAction = error "plain error"
|
|
| 42 | + |
|
| 43 | +throwSTMAction :: IO ()
|
|
| 44 | +throwSTMAction = atomically $ throwSTM $ ErrorCall "my throwSTM error"
|
|
| 45 | + |
|
| 46 | +undefinedAction :: IO ()
|
|
| 47 | +undefinedAction = evaluate undefined
|
|
| 48 | + |
|
| 49 | +catchAndVerifyStackTraceLength :: String -> IO () -> IO ()
|
|
| 50 | +catchAndVerifyStackTraceLength name act = do
|
|
| 51 | + try act >>= \ case
|
|
| 52 | + Right _ -> do
|
|
| 53 | + putStrLn $ "Exception expected but got a result for '" ++ name ++ "'"
|
|
| 54 | + exitFailure
|
|
| 55 | + Left exc ->
|
|
| 56 | + verifyBacktraceSize name exc
|
|
| 57 | + |
|
| 58 | +verifyBacktraceSize :: String -> SomeException -> IO ()
|
|
| 59 | +verifyBacktraceSize label se = do
|
|
| 60 | + message <- evaluate (displayException se)
|
|
| 61 | + putStrLn "==== Caught exception:"
|
|
| 62 | + putStrLn message
|
|
| 63 | + putStrLn "==== Exception Backtraces:"
|
|
| 64 | + let backtraces = getExceptionAnnotations @Backtraces $ someExceptionContext se
|
|
| 65 | + traverse_ validateBacktrace backtraces
|
|
| 66 | + |
|
| 67 | +validateBacktrace :: Backtraces -> IO ()
|
|
| 68 | +validateBacktrace bt =
|
|
| 69 | + case btrHasCallStack bt of
|
|
| 70 | + Nothing -> pure ()
|
|
| 71 | + Just cs -> do
|
|
| 72 | + let stack = HCS.getCallStack cs
|
|
| 73 | + |
|
| 74 | + traverse_ mustNotReferenceInternalPackages stack
|
|
| 75 | + traverse_ (putStrLn . prettyCallSite) stack
|
|
| 76 | + where
|
|
| 77 | + prettyCallSite (f, loc) = "- " ++ f ++ ", called at " ++ HCS.prettySrcLoc loc
|
|
| 78 | + |
|
| 79 | + mustNotReferenceInternalPackages (_, loc) =
|
|
| 80 | + case List.find (HCS.srcLocPackage loc ==) internalPackages of
|
|
| 81 | + Just val -> fail $ "Stack trace must not reference '" ++ val ++ "' package."
|
|
| 82 | + Nothing -> pure ()
|
|
| 83 | + |
|
| 84 | +internalPackages :: [String]
|
|
| 85 | +internalPackages = ["base", "ghc", "ghc-internal", "ghc-experimental"] |
| 1 | +=== Validate stack size of 'throw' has length 1
|
|
| 2 | +==== Caught exception:
|
|
| 3 | +my throw error
|
|
| 4 | +==== Exception Backtraces:
|
|
| 5 | +- throw, called at T15395.hs:35:26 in main:Main
|
|
| 6 | + |
|
| 7 | +=== Validate stack size of 'throwIO' has length 1
|
|
| 8 | +==== Caught exception:
|
|
| 9 | +my throwIO error
|
|
| 10 | +==== Exception Backtraces:
|
|
| 11 | +- throwIO, called at T15395.hs:38:17 in main:Main
|
|
| 12 | + |
|
| 13 | +=== Validate stack size of 'error' has length 1
|
|
| 14 | +==== Caught exception:
|
|
| 15 | +plain error
|
|
| 16 | +==== Exception Backtraces:
|
|
| 17 | +- error, called at T15395.hs:41:15 in main:Main
|
|
| 18 | + |
|
| 19 | +=== Validate stack size of 'throwSTM' has length 1
|
|
| 20 | +==== Caught exception:
|
|
| 21 | +my throwSTM error
|
|
| 22 | +==== Exception Backtraces:
|
|
| 23 | +- throwSTM, called at T15395.hs:44:31 in main:Main
|
|
| 24 | + |
|
| 25 | +=== Validate stack size of 'undefined' has length 1
|
|
| 26 | +==== Caught exception:
|
|
| 27 | +Prelude.undefined
|
|
| 28 | +==== Exception Backtraces:
|
|
| 29 | +- undefined, called at T15395.hs:47:28 in main:Main
|
|
| 30 | + |
| ... | ... | @@ -4,3 +4,7 @@ test('T26507', [ when(have_profiling(), extra_ways(['prof'])) |
| 4 | 4 | , when(js_arch(), skip)
|
| 5 | 5 | , when(ghc_with_ipe(), skip) # IPE builds include an IPE backtrace section on stderr.
|
| 6 | 6 | , exit_code(1)], compile_and_run, [''])
|
| 7 | + |
|
| 8 | +# Stack traces shouldn't expose implementation details
|
|
| 9 | +test('T15395', [ when(have_profiling(), extra_ways(['prof']))
|
|
| 10 | + , when(js_arch(), skip)], compile_and_run, ['']) |
| ... | ... | @@ -39,7 +39,5 @@ Exception context: |
| 39 | 39 | - catch site for throwSTM
|
| 40 | 40 | - annotateCallStackIO, called at ann_frame005.hs:26:3 in main:Main
|
| 41 | 41 | - HasCallStack backtrace:
|
| 42 | -- collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:170:37 in ghc-internal:GHC.Internal.Exception
|
|
| 43 | -- toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/STM.hs:190:26 in ghc-internal:GHC.Internal.STM
|
|
| 44 | 42 | - throwSTM, called at ann_frame005.hs:55:9 in main:Main
|
| 45 | 43 | Handler annotation not present in context |
| ... | ... | @@ -4,7 +4,5 @@ T21301.hs:(8,7)-(10,6): Non-exhaustive patterns in case |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ DsStrictFail.hs:4:12-23: Non-exhaustive patterns in False |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ T20024.hs:2:12-32: Non-exhaustive guards in pattern binding |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:431:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ dsrun005.hs:42:1-18: Non-exhaustive patterns in function f |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ dsrun007.hs:5:23-25: Missing field in record construction |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:432:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ dsrun008.hs:2:32-36: Non-exhaustive patterns in (2, x) |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -13,7 +13,5 @@ T9576.hs:6:31: error: [GHC-39999] |
| 13 | 13 | (deferred type error)
|
| 14 | 14 | |
| 15 | 15 | HasCallStack backtrace:
|
| 16 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 17 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 18 | 16 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 19 | 17 |
| ... | ... | @@ -71,8 +71,6 @@ Defer01.hs:49:5: warning: [GHC-83865] [-Wdeferred-type-errors (in -Wdefault)] |
| 71 | 71 | (deferred type error)
|
| 72 | 72 | |
| 73 | 73 | HasCallStack backtrace:
|
| 74 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 75 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 76 | 74 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 77 | 75 | |
| 78 | 76 | *** Exception: Defer01.hs:13:5: error: [GHC-83865]
|
| ... | ... | @@ -82,8 +80,6 @@ HasCallStack backtrace: |
| 82 | 80 | (deferred type error)
|
| 83 | 81 | |
| 84 | 82 | HasCallStack backtrace:
|
| 85 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 86 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 87 | 83 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 88 | 84 | |
| 89 | 85 | *** Exception: Defer01.hs:17:9: error: [GHC-39999]
|
| ... | ... | @@ -93,8 +89,6 @@ HasCallStack backtrace: |
| 93 | 89 | (deferred type error)
|
| 94 | 90 | |
| 95 | 91 | HasCallStack backtrace:
|
| 96 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 97 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 98 | 92 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 99 | 93 | |
| 100 | 94 | <interactive>:10:11: error: [GHC-83865]
|
| ... | ... | @@ -113,8 +107,6 @@ HasCallStack backtrace: |
| 113 | 107 | (deferred type error)
|
| 114 | 108 | |
| 115 | 109 | HasCallStack backtrace:
|
| 116 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 117 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 118 | 110 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 119 | 111 | |
| 120 | 112 | *** Exception: Defer01.hs:30:5: error: [GHC-83865]
|
| ... | ... | @@ -127,8 +119,6 @@ HasCallStack backtrace: |
| 127 | 119 | (deferred type error)
|
| 128 | 120 | |
| 129 | 121 | HasCallStack backtrace:
|
| 130 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 131 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 132 | 122 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 133 | 123 | |
| 134 | 124 | *** Exception: Defer01.hs:33:8: error: [GHC-25897]
|
| ... | ... | @@ -146,8 +136,6 @@ HasCallStack backtrace: |
| 146 | 136 | (deferred type error)
|
| 147 | 137 | |
| 148 | 138 | HasCallStack backtrace:
|
| 149 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 150 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 151 | 139 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 152 | 140 | |
| 153 | 141 | *** Exception: Defer01.hs:38:17: error: [GHC-83865]
|
| ... | ... | @@ -161,8 +149,6 @@ HasCallStack backtrace: |
| 161 | 149 | (deferred type error)
|
| 162 | 150 | |
| 163 | 151 | HasCallStack backtrace:
|
| 164 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 165 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 166 | 152 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 167 | 153 | |
| 168 | 154 | *** Exception: Defer01.hs:42:5: error: [GHC-39999]
|
| ... | ... | @@ -172,8 +158,6 @@ HasCallStack backtrace: |
| 172 | 158 | (deferred type error)
|
| 173 | 159 | |
| 174 | 160 | HasCallStack backtrace:
|
| 175 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 176 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 177 | 161 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 178 | 162 | |
| 179 | 163 | <interactive>:16:8: error: [GHC-18872]
|
| ... | ... | @@ -192,7 +176,5 @@ HasCallStack backtrace: |
| 192 | 176 | (deferred type error)
|
| 193 | 177 | |
| 194 | 178 | HasCallStack backtrace:
|
| 195 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 196 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 197 | 179 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 198 | 180 |
| ... | ... | @@ -24,7 +24,5 @@ T15325.hs:11:9: warning: [GHC-39999] [-Wdeferred-type-errors (in -Wdefault)] |
| 24 | 24 | (deferred type error)
|
| 25 | 25 | |
| 26 | 26 | HasCallStack backtrace:
|
| 27 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 28 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 29 | 27 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 30 | 28 |
| ... | ... | @@ -2,7 +2,5 @@ |
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | HasCallStack backtrace:
|
| 5 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 6 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 7 | 5 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 8 | 6 |
| ... | ... | @@ -11,7 +11,5 @@ LiftErrMsgDefer.hs:14:12: warning: [GHC-28914] [-Wdeferred-type-errors (in -Wdef |
| 11 | 11 | (deferred type error)
|
| 12 | 12 | |
| 13 | 13 | HasCallStack backtrace:
|
| 14 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 15 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 16 | 14 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 17 | 15 |
| ... | ... | @@ -4,7 +4,5 @@ SafeLang15.hs:22:9-37: Non-exhaustive patterns in Just p' |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -4,7 +4,5 @@ T22332a.hs:18:1-35: Non-exhaustive patterns in Just eq |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | HasCallStack backtrace:
|
| 7 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 8 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 9 | 7 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 10 | 8 |
| ... | ... | @@ -7,7 +7,5 @@ T10284.hs:7:5: error: [GHC-83865] |
| 7 | 7 | (deferred type error)
|
| 8 | 8 | |
| 9 | 9 | HasCallStack backtrace:
|
| 10 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 11 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 12 | 10 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 13 | 11 |
| ... | ... | @@ -9,7 +9,5 @@ T13838.hs:6:1: error: [GHC-83865] |
| 9 | 9 | (deferred type error)
|
| 10 | 10 | |
| 11 | 11 | HasCallStack backtrace:
|
| 12 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 13 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 14 | 12 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 15 | 13 |
| ... | ... | @@ -19,7 +19,5 @@ T9497a-run.hs:2:8: error: [GHC-88464] |
| 19 | 19 | (deferred type error)
|
| 20 | 20 | |
| 21 | 21 | HasCallStack backtrace:
|
| 22 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 23 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 24 | 22 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 25 | 23 |
| ... | ... | @@ -19,7 +19,5 @@ T9497b-run.hs:2:8: error: [GHC-88464] |
| 19 | 19 | (deferred type error)
|
| 20 | 20 | |
| 21 | 21 | HasCallStack backtrace:
|
| 22 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 23 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 24 | 22 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 25 | 23 |
| ... | ... | @@ -19,7 +19,5 @@ T9497c-run.hs:2:8: error: [GHC-88464] |
| 19 | 19 | (deferred type error)
|
| 20 | 20 | |
| 21 | 21 | HasCallStack backtrace:
|
| 22 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 23 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 24 | 22 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 25 | 23 |
| ... | ... | @@ -8,7 +8,5 @@ T23816.hs:18:15: error: [GHC-22250] |
| 8 | 8 | (deferred type error)
|
| 9 | 9 | |
| 10 | 10 | HasCallStack backtrace:
|
| 11 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 12 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 13 | 11 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 14 | 12 |
| ... | ... | @@ -7,7 +7,5 @@ UnsatDefer.hs:20:7: error: [GHC-22250] |
| 7 | 7 | (deferred type error)
|
| 8 | 8 | |
| 9 | 9 | HasCallStack backtrace:
|
| 10 | - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception
|
|
| 11 | - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception
|
|
| 12 | 10 | throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base
|
| 13 | 11 |