summaryrefslogtreecommitdiff
path: root/compiler/prelude
diff options
context:
space:
mode:
authorDavid Terei <code@davidterei.com>2013-12-05 17:27:17 -0800
committerDavid Terei <code@davidterei.com>2014-08-01 18:59:34 -0700
commit578fbeca31dd3d755e24e910c3a7327f92bc4ee3 (patch)
treeaaa41d597ee79acdb16f52432891aad6bd655f68 /compiler/prelude
parent02975c90c0a587122797930e824a4d45ada26b6a (diff)
downloadhaskell-578fbeca31dd3d755e24e910c3a7327f92bc4ee3.tar.gz
Dont allow hand-written Generic instances in Safe Haskell.
While they aren't strictly unsafe, it is a similar situation to Typeable. There are few instances where a programmer will write their own instance, and having compiler assurance that the Generic implementation is correct brings a lot of benefits.
Diffstat (limited to 'compiler/prelude')
-rw-r--r--compiler/prelude/PrelNames.lhs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs
index 2c84e40565..b2dec88c02 100644
--- a/compiler/prelude/PrelNames.lhs
+++ b/compiler/prelude/PrelNames.lhs
@@ -1084,6 +1084,9 @@ datatypeClassName = clsQual gHC_GENERICS (fsLit "Datatype") datatypeClassK
constructorClassName = clsQual gHC_GENERICS (fsLit "Constructor") constructorClassKey
selectorClassName = clsQual gHC_GENERICS (fsLit "Selector") selectorClassKey
+genericClassNames :: [Name]
+genericClassNames = [genClassName, gen1ClassName]
+
-- GHCi things
ghciIoClassName, ghciStepIoMName :: Name
ghciIoClassName = clsQual gHC_GHCI (fsLit "GHCiSandboxIO") ghciIoClassKey