diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2016-11-06 09:09:36 -0500 |
---|---|---|
committer | Ryan Scott <ryan.gl.scott@gmail.com> | 2016-11-06 09:09:36 -0500 |
commit | 630d88176e8dd3ccc269451bca8f55398ef5265c (patch) | |
tree | 71660e73c5e770ee83a1bbad4452a0d23e20f42a /testsuite/tests/generics | |
parent | 25c8e80eccc512d05c0ca8df401271db65b5987b (diff) | |
download | haskell-630d88176e8dd3ccc269451bca8f55398ef5265c.tar.gz |
Allow GeneralizedNewtypeDeriving for classes with associated type families
Summary:
This implements the ability to derive associated type family instances
for newtypes automatically using `GeneralizedNewtypeDeriving`. Refer to the
users' guide additions for how this works; I essentially follow the pattern
laid out in https://ghc.haskell.org/trac/ghc/ticket/8165#comment:18.
Fixes #2721 and #8165.
Test Plan: ./validate
Reviewers: simonpj, goldfire, austin, bgamari
Reviewed By: simonpj
Subscribers: mpickering, thomie
Differential Revision: https://phabricator.haskell.org/D2636
GHC Trac Issues: #2721, #8165
Diffstat (limited to 'testsuite/tests/generics')
4 files changed, 8 insertions, 8 deletions
diff --git a/testsuite/tests/generics/GenDerivOutput.stderr b/testsuite/tests/generics/GenDerivOutput.stderr index 1b573f26bb..65dcadba85 100644 --- a/testsuite/tests/generics/GenDerivOutput.stderr +++ b/testsuite/tests/generics/GenDerivOutput.stderr @@ -1,6 +1,6 @@ ==================== Derived instances ==================== -Derived instances: +Derived class instances: instance GHC.Generics.Generic (GenDerivOutput.List a) where GHC.Generics.from x = GHC.Generics.M1 @@ -93,7 +93,7 @@ Derived instances: (GHC.Base.fmap GHC.Generics.unRec1) GHC.Generics.unComp1 g2) } -GHC.Generics representation types: +Derived type family instances: type GHC.Generics.Rep (GenDerivOutput.List a) = GHC.Generics.D1 ('GHC.Generics.MetaData "List" diff --git a/testsuite/tests/generics/GenDerivOutput1_0.stderr b/testsuite/tests/generics/GenDerivOutput1_0.stderr index cc12b64a39..162fa0fa08 100644 --- a/testsuite/tests/generics/GenDerivOutput1_0.stderr +++ b/testsuite/tests/generics/GenDerivOutput1_0.stderr @@ -1,6 +1,6 @@ ==================== Derived instances ==================== -Derived instances: +Derived class instances: instance GHC.Generics.Generic1 GenDerivOutput1_0.List where GHC.Generics.from1 x = GHC.Generics.M1 @@ -23,7 +23,7 @@ Derived instances: (GHC.Generics.unPar1 g1) (GHC.Generics.unRec1 g2) } -GHC.Generics representation types: +Derived type family instances: type GHC.Generics.Rep1 GenDerivOutput1_0.List = GHC.Generics.D1 ('GHC.Generics.MetaData "List" diff --git a/testsuite/tests/generics/GenDerivOutput1_1.stderr b/testsuite/tests/generics/GenDerivOutput1_1.stderr index 53dbda1d62..31a9e4368a 100644 --- a/testsuite/tests/generics/GenDerivOutput1_1.stderr +++ b/testsuite/tests/generics/GenDerivOutput1_1.stderr @@ -1,6 +1,6 @@ ==================== Derived instances ==================== -Derived instances: +Derived class instances: instance GHC.Generics.Generic1 CanDoRep1_1.Dd where GHC.Generics.from1 x = GHC.Generics.M1 @@ -162,7 +162,7 @@ Derived instances: (GHC.Generics.unPar1 g1) (GHC.Generics.unRec1 g2) } -GHC.Generics representation types: +Derived type family instances: type GHC.Generics.Rep1 CanDoRep1_1.Dd = GHC.Generics.D1 ('GHC.Generics.MetaData "Dd" "CanDoRep1_1" "main" 'GHC.Types.False) diff --git a/testsuite/tests/generics/T10604/T10604_deriving.stderr b/testsuite/tests/generics/T10604/T10604_deriving.stderr index 04c87ff33d..9576346899 100644 --- a/testsuite/tests/generics/T10604/T10604_deriving.stderr +++ b/testsuite/tests/generics/T10604/T10604_deriving.stderr @@ -1,6 +1,6 @@ ==================== Derived instances ==================== -Derived instances: +Derived class instances: instance GHC.Generics.Generic (T10604_deriving.Empty a) where GHC.Generics.from x = GHC.Generics.M1 @@ -185,7 +185,7 @@ Derived instances: -> T10604_deriving.Starify2 (GHC.Generics.unK1 g1) } -GHC.Generics representation types: +Derived type family instances: type GHC.Generics.Rep (T10604_deriving.Empty a) = GHC.Generics.D1 * ('GHC.Generics.MetaData |