summaryrefslogtreecommitdiff
path: root/libraries/ghc-heap/GHC/Exts/Heap.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ghc-heap/GHC/Exts/Heap.hs')
-rw-r--r--libraries/ghc-heap/GHC/Exts/Heap.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/libraries/ghc-heap/GHC/Exts/Heap.hs b/libraries/ghc-heap/GHC/Exts/Heap.hs
index 10a9ea8be9..1e429ca054 100644
--- a/libraries/ghc-heap/GHC/Exts/Heap.hs
+++ b/libraries/ghc-heap/GHC/Exts/Heap.hs
@@ -91,10 +91,18 @@ class HasHeapRep (a :: TYPE rep) where
-> IO Closure
-- ^ Heap representation of the closure.
+#if __GLASGOW_HASKELL__ >= 901
+instance HasHeapRep (a :: TYPE ('BoxedRep 'Lifted)) where
+#else
instance HasHeapRep (a :: TYPE 'LiftedRep) where
+#endif
getClosureData = getClosureDataFromHeapObject
+#if __GLASGOW_HASKELL__ >= 901
+instance HasHeapRep (a :: TYPE ('BoxedRep 'Unlifted)) where
+#else
instance HasHeapRep (a :: TYPE 'UnliftedRep) where
+#endif
getClosureData x = getClosureDataFromHeapObject (unsafeCoerce# x)
instance Int# ~ a => HasHeapRep (a :: TYPE 'IntRep) where