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 Hide implementation details from base exception stack traces Ensure we hide the implementation details of the exception throwing mechanisms: * `undefined` * `throwSTM` * `throw` * `throwIO` * `error` The `HasCallStackBacktrace` should always have a length of exactly 1, not showing internal implementation details in the stack trace, as these are vastly distracting to end users. CLC proposal [#387](https://github.com/haskell/core-libraries-committee/issues/387) - - - - - 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: ===================================== libraries/base/changelog.md ===================================== @@ -25,6 +25,7 @@ * Export `labelThread` from `Control.Concurrent`.([CLC proposal #376](https://github.com/haskell/core-libraries-committee/issues/376)) * 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)) * Evaluate backtraces for "error" exceptions at the moment they are thrown. ([CLC proposal #383](https://github.com/haskell/core-libraries-committee/issues/383)) + * Hide implementation details when throwing exceptions in throw and throwSTM. ([CLC proposal #387](https://github.com/haskell/core-libraries-committee/issues/387)) ## 4.22.0.0 *TBA* * Shipped with GHC 9.14.1 ===================================== libraries/ghc-internal/src/GHC/Internal/Exception.hs ===================================== @@ -87,7 +87,7 @@ throw e = -- Note also the absolutely crucial `noinine` in the RHS! -- See Note [Hiding precise exception signature in throw] let se :: SomeException - !se = noinline (unsafePerformIO (toExceptionWithBacktrace e)) + !se = noinline (unsafePerformIO (withFrozenCallStack $ toExceptionWithBacktrace e)) in raise# se -- Note [Capturing the backtrace in throw] @@ -162,7 +162,12 @@ throw e = -- primops which allow more precise guidance of the demand analyser's heuristic -- (e.g. #23847). --- | @since base-4.20.0.0 +-- | Collect a Backtrace and attach it to the 'Exception'. +-- +-- It is recommended to use 'withFrozenCallStack' when calling this function +-- in order to avoid leaking implementation details of 'toExceptionWithBacktrace'. +-- +-- @since base-4.20.0.0 toExceptionWithBacktrace :: (HasCallStack, Exception e) => e -> IO SomeException toExceptionWithBacktrace e ===================================== libraries/ghc-internal/src/GHC/Internal/STM.hs ===================================== @@ -28,7 +28,7 @@ import GHC.Internal.Base import GHC.Internal.Exception (Exception, toExceptionWithBacktrace, fromException, addExceptionContext) import GHC.Internal.Exception.Context (ExceptionAnnotation) import GHC.Internal.Exception.Type (WhileHandling(..)) -import GHC.Internal.Stack (HasCallStack) +import GHC.Internal.Stack (HasCallStack, withFrozenCallStack) -- TVars are shared memory locations which support atomic memory -- transactions. @@ -187,7 +187,7 @@ throwSTM e = do -- N.B. Typically use of unsafeIOToSTM is very much frowned upon as this -- is an easy way to end up with nested transactions. However, we can be -- certain that toExceptionWithBacktrace will not initiate a transaction. - se <- unsafeIOToSTM (toExceptionWithBacktrace e) + se <- unsafeIOToSTM (withFrozenCallStack $ toExceptionWithBacktrace e) STM $ raiseIO# se -- | Exception handling within STM actions. ===================================== libraries/ghc-internal/tests/backtraces/T15395.hs ===================================== @@ -0,0 +1,85 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE TypeApplications #-} + +import GHC.Internal.Control.Exception +import GHC.Internal.Data.Foldable (traverse_) +import GHC.Internal.Exception.Backtrace +import GHC.Internal.Exception.Context +import GHC.Internal.Exception.Type +import GHC.Internal.STM (atomically, throwSTM) +import qualified GHC.Internal.Stack as HCS +import qualified GHC.Internal.Stack.Types as HCS +import Control.Monad (when) +import qualified Data.List as List +import System.Exit (exitFailure) + +main :: IO () +main = do + -- Make sure there are HasCallStackBacktraces + setBacktraceMechanismState HasCallStackBacktrace True + mapM_ (uncurry runCase) + [ ("throw", throwAction) + , ("throwIO", throwIOAction) + , ("error", errorAction) + , ("throwSTM", throwSTMAction) + , ("undefined", undefinedAction) + ] + +runCase :: String -> IO () -> IO () +runCase name act = do + putStrLn $ "=== Validate stack size of '" ++ name ++ "' has length 1" + catchAndVerifyStackTraceLength name act + putStrLn "" + +throwAction :: IO () +throwAction = evaluate $ throw $ ErrorCall "my throw error" + +throwIOAction :: IO () +throwIOAction = throwIO $ ErrorCall "my throwIO error" + +errorAction :: IO () +errorAction = error "plain error" + +throwSTMAction :: IO () +throwSTMAction = atomically $ throwSTM $ ErrorCall "my throwSTM error" + +undefinedAction :: IO () +undefinedAction = evaluate undefined + +catchAndVerifyStackTraceLength :: String -> IO () -> IO () +catchAndVerifyStackTraceLength name act = do + try act >>= \ case + Right _ -> do + putStrLn $ "Exception expected but got a result for '" ++ name ++ "'" + exitFailure + Left exc -> + verifyBacktraceSize name exc + +verifyBacktraceSize :: String -> SomeException -> IO () +verifyBacktraceSize label se = do + message <- evaluate (displayException se) + putStrLn "==== Caught exception:" + putStrLn message + putStrLn "==== Exception Backtraces:" + let backtraces = getExceptionAnnotations @Backtraces $ someExceptionContext se + traverse_ validateBacktrace backtraces + +validateBacktrace :: Backtraces -> IO () +validateBacktrace bt = + case btrHasCallStack bt of + Nothing -> pure () + Just cs -> do + let stack = HCS.getCallStack cs + + traverse_ mustNotReferenceInternalPackages stack + traverse_ (putStrLn . prettyCallSite) stack + where + prettyCallSite (f, loc) = "- " ++ f ++ ", called at " ++ HCS.prettySrcLoc loc + + mustNotReferenceInternalPackages (_, loc) = + case List.find (HCS.srcLocPackage loc ==) internalPackages of + Just val -> fail $ "Stack trace must not reference '" ++ val ++ "' package." + Nothing -> pure () + +internalPackages :: [String] +internalPackages = ["base", "ghc", "ghc-internal", "ghc-experimental"] ===================================== libraries/ghc-internal/tests/backtraces/T15395.stdout ===================================== @@ -0,0 +1,30 @@ +=== Validate stack size of 'throw' has length 1 +==== Caught exception: +my throw error +==== Exception Backtraces: +- throw, called at T15395.hs:35:26 in main:Main + +=== Validate stack size of 'throwIO' has length 1 +==== Caught exception: +my throwIO error +==== Exception Backtraces: +- throwIO, called at T15395.hs:38:17 in main:Main + +=== Validate stack size of 'error' has length 1 +==== Caught exception: +plain error +==== Exception Backtraces: +- error, called at T15395.hs:41:15 in main:Main + +=== Validate stack size of 'throwSTM' has length 1 +==== Caught exception: +my throwSTM error +==== Exception Backtraces: +- throwSTM, called at T15395.hs:44:31 in main:Main + +=== Validate stack size of 'undefined' has length 1 +==== Caught exception: +Prelude.undefined +==== Exception Backtraces: +- undefined, called at T15395.hs:47:28 in main:Main + ===================================== libraries/ghc-internal/tests/backtraces/all.T ===================================== @@ -4,3 +4,7 @@ test('T26507', [ when(have_profiling(), extra_ways(['prof'])) , when(js_arch(), skip) , when(ghc_with_ipe(), skip) # IPE builds include an IPE backtrace section on stderr. , exit_code(1)], compile_and_run, ['']) + +# Stack traces shouldn't expose implementation details +test('T15395', [ when(have_profiling(), extra_ways(['prof'])) + , when(js_arch(), skip)], compile_and_run, ['']) ===================================== libraries/ghc-internal/tests/stack-annotation/ann_frame005.stdout ===================================== @@ -39,7 +39,5 @@ Exception context: - catch site for throwSTM - annotateCallStackIO, called at ann_frame005.hs:26:3 in main:Main - HasCallStack backtrace: -- collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:170:37 in ghc-internal:GHC.Internal.Exception -- toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/STM.hs:190:26 in ghc-internal:GHC.Internal.STM - throwSTM, called at ann_frame005.hs:55:9 in main:Main Handler annotation not present in context ===================================== testsuite/tests/arrows/should_compile/T21301.stderr ===================================== @@ -4,7 +4,5 @@ T21301.hs:(8,7)-(10,6): Non-exhaustive patterns in case HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deSugar/should_fail/DsStrictFail.stderr ===================================== @@ -4,7 +4,5 @@ DsStrictFail.hs:4:12-23: Non-exhaustive patterns in False HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deSugar/should_run/T20024.stderr ===================================== @@ -4,7 +4,5 @@ T20024.hs:2:12-32: Non-exhaustive guards in pattern binding HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:431:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deSugar/should_run/dsrun005.stderr ===================================== @@ -4,7 +4,5 @@ dsrun005.hs:42:1-18: Non-exhaustive patterns in function f HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deSugar/should_run/dsrun007.stderr ===================================== @@ -4,7 +4,5 @@ dsrun007.hs:5:23-25: Missing field in record construction HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:432:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deSugar/should_run/dsrun008.stderr ===================================== @@ -4,7 +4,5 @@ dsrun008.hs:2:32-36: Non-exhaustive patterns in (2, x) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/deriving/should_run/T9576.stderr ===================================== @@ -13,7 +13,5 @@ T9576.hs:6:31: error: [GHC-39999] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/ghci/scripts/Defer02.stderr ===================================== @@ -71,8 +71,6 @@ Defer01.hs:49:5: warning: [GHC-83865] [-Wdeferred-type-errors (in -Wdefault)] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:13:5: error: [GHC-83865] @@ -82,8 +80,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:17:9: error: [GHC-39999] @@ -93,8 +89,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base <interactive>:10:11: error: [GHC-83865] @@ -113,8 +107,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:30:5: error: [GHC-83865] @@ -127,8 +119,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:33:8: error: [GHC-25897] @@ -146,8 +136,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:38:17: error: [GHC-83865] @@ -161,8 +149,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base *** Exception: Defer01.hs:42:5: error: [GHC-39999] @@ -172,8 +158,6 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base <interactive>:16:8: error: [GHC-18872] @@ -192,7 +176,5 @@ HasCallStack backtrace: (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/ghci/scripts/T15325.stderr ===================================== @@ -24,7 +24,5 @@ T15325.hs:11:9: warning: [GHC-39999] [-Wdeferred-type-errors (in -Wdefault)] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/patsyn/should_run/ghci.stderr ===================================== @@ -2,7 +2,5 @@ HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/quotes/LiftErrMsgDefer.stderr ===================================== @@ -11,7 +11,5 @@ LiftErrMsgDefer.hs:14:12: warning: [GHC-28914] [-Wdeferred-type-errors (in -Wdef (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/safeHaskell/safeLanguage/SafeLang15.stderr ===================================== @@ -4,7 +4,5 @@ SafeLang15.hs:22:9-37: Non-exhaustive patterns in Just p' HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/type-data/should_run/T22332a.stderr ===================================== @@ -4,7 +4,5 @@ T22332a.hs:18:1-35: Non-exhaustive patterns in Just eq HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:434:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/typecheck/should_run/T10284.stderr ===================================== @@ -7,7 +7,5 @@ T10284.hs:7:5: error: [GHC-83865] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/typecheck/should_run/T13838.stderr ===================================== @@ -9,7 +9,5 @@ T13838.hs:6:1: error: [GHC-83865] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/typecheck/should_run/T9497a-run.stderr ===================================== @@ -19,7 +19,5 @@ T9497a-run.hs:2:8: error: [GHC-88464] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/typecheck/should_run/T9497b-run.stderr ===================================== @@ -19,7 +19,5 @@ T9497b-run.hs:2:8: error: [GHC-88464] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/typecheck/should_run/T9497c-run.stderr ===================================== @@ -19,7 +19,5 @@ T9497c-run.hs:2:8: error: [GHC-88464] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/unsatisfiable/T23816.stderr ===================================== @@ -8,7 +8,5 @@ T23816.hs:18:15: error: [GHC-22250] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base ===================================== testsuite/tests/unsatisfiable/UnsatDefer.stderr ===================================== @@ -7,7 +7,5 @@ UnsatDefer.hs:20:7: error: [GHC-22250] (deferred type error) HasCallStack backtrace: - collectExceptionAnnotation, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception - toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:89:42 in ghc-internal:GHC.Internal.Exception throw, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:435:30 in ghc-internal:GHC.Internal.Control.Exception.Base View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/3cfb2e58c298c0a1885085e766d38a29... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/3cfb2e58c298c0a1885085e766d38a29... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)