[commit: ghc] wip/ttypeable: TcTypeable: Clarify comment (450f81b)

git at git.haskell.org git at git.haskell.org
Fri Jul 29 16:29:21 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/ttypeable
Link       : http://ghc.haskell.org/trac/ghc/changeset/450f81b98a74331b19df3bc07666d60a23bad113/ghc

>---------------------------------------------------------------

commit 450f81b98a74331b19df3bc07666d60a23bad113
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Fri Jul 22 13:16:05 2016 +0200

    TcTypeable: Clarify comment


>---------------------------------------------------------------

450f81b98a74331b19df3bc07666d60a23bad113
 compiler/typecheck/TcTypeable.hs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/compiler/typecheck/TcTypeable.hs b/compiler/typecheck/TcTypeable.hs
index 89d5586..a68d51c 100644
--- a/compiler/typecheck/TcTypeable.hs
+++ b/compiler/typecheck/TcTypeable.hs
@@ -214,7 +214,11 @@ ghcPrimTypeableTyCons = filter (not . definedManually) $ concat
     , primTyCons
     ]
   where
-    definedManually tc = tyConName tc `elemNameEnv` primTypeableTcCons
+    -- Some things, like TYPE, have mutually recursion kind relationships and
+    -- therefore have manually-defined representations. See Note [Mutually
+    -- recursive representations of primitive types] in Data.Typeable.Internal
+    -- and Note [Grand plan for Typeable] for details.
+    definedManually tc = tyConName tc `elemNameEnv` primTypeableTyCons
 
 -- | Generate bindings for the type representation of the wired-in TyCons defined
 -- by the virtual "GHC.Prim" module. This differs from the usual



More information about the ghc-commits mailing list