summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/GHC/Runtime/Heap/Inspect.hs3
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break012.stdout8
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break026.stdout12
3 files changed, 13 insertions, 10 deletions
diff --git a/compiler/GHC/Runtime/Heap/Inspect.hs b/compiler/GHC/Runtime/Heap/Inspect.hs
index e707153137..c01cf10da3 100644
--- a/compiler/GHC/Runtime/Heap/Inspect.hs
+++ b/compiler/GHC/Runtime/Heap/Inspect.hs
@@ -1045,6 +1045,9 @@ cvReconstructType hsc_env max_depth old_ty hval = runTR_maybe hsc_env $ do
world <- newVar liftedTypeKind
addConstraint my_ty (mkTyConApp mutVarPrimTyCon [world,tv'])
return [(tv', contents)]
+ APClosure {payload=pLoad} -> do -- #19559 (incr)
+ mapM_ (go my_ty) pLoad
+ return []
ConstrClosure{ptrArgs=pArgs} -> do
Right dcname <- liftIO $ constrClosToName hsc_env clos
traceTR (text "Constr1" <+> ppr dcname)
diff --git a/testsuite/tests/ghci.debugger/scripts/break012.stdout b/testsuite/tests/ghci.debugger/scripts/break012.stdout
index 5d478ae04e..dfc09e2186 100644
--- a/testsuite/tests/ghci.debugger/scripts/break012.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break012.stdout
@@ -1,14 +1,14 @@
Stopped in Main.g, break012.hs:5:10-18
-_result :: (a1, a2 -> a2, (), a -> a -> a) = _
-a :: a1 = _
+_result :: (Integer, a2 -> a2, (), a -> a -> a) = _
+a :: Integer = _
b :: a3 -> a3 = _
c :: () = _
d :: a -> a -> a = _
-a :: a1
+a :: Integer
b :: a3 -> a3
c :: ()
d :: a -> a -> a
-a = (_t1::a1)
+a = (_t1::Integer)
b = (_t2::a3 -> a3)
c = (_t3::())
d = (_t4::a -> a -> a)
diff --git a/testsuite/tests/ghci.debugger/scripts/break026.stdout b/testsuite/tests/ghci.debugger/scripts/break026.stdout
index 79acc3d8ac..0d8d87c461 100644
--- a/testsuite/tests/ghci.debugger/scripts/break026.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break026.stdout
@@ -10,9 +10,9 @@ f :: Int -> Int -> Int = _
x :: Int = 1
xs :: [Int] = _
Stopped in Test.foldl.go, break026.hs:7:23-35
-_result :: t = _
-c :: t = _
-f :: t -> Int -> t = _
+_result :: Int = _
+c :: Int = _
+f :: Int -> Int -> Int = _
x :: Int = 2
xs :: [Int] = _
c = 1
@@ -28,9 +28,9 @@ f :: Int -> Int -> Int = _
x :: Int = 1
xs :: [Int] = _
Stopped in Test.foldl.go, break026.hs:7:23-35
-_result :: t = _
-c :: t = _
-f :: t -> Int -> t = _
+_result :: Int = _
+c :: Int = _
+f :: Int -> Int -> Int = _
x :: Int = 2
xs :: [Int] = _
Stopped in Test.foldl.go, break026.hs:7:27-31