summaryrefslogtreecommitdiff
path: root/testsuite/tests/generics
diff options
context:
space:
mode:
authorDavid Feuer <david.feuer@gmail.com>2017-02-07 00:16:55 -0500
committerDavid Feuer <David.Feuer@gmail.com>2017-02-07 00:16:56 -0500
commit2219c8cd612ec7920a3bd1661b3c663575737267 (patch)
tree43c944b3fd09c9719a27f871abba1a6ece01e16b /testsuite/tests/generics
parenta28a55211d6fb8d3182b0a9e47656ff9ca8a3766 (diff)
downloadhaskell-2219c8cd612ec7920a3bd1661b3c663575737267.tar.gz
Derive <$
Using the default definition of `<$` for derived `Functor` instance is very bad for recursive data types. Derive the definition instead. Fixes #13218 Reviewers: austin, bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, thomie Differential Revision: https://phabricator.haskell.org/D3072
Diffstat (limited to 'testsuite/tests/generics')
-rw-r--r--testsuite/tests/generics/GenDerivOutput.stderr9
-rw-r--r--testsuite/tests/generics/T10604/T10604_deriving.stderr7
2 files changed, 4 insertions, 12 deletions
diff --git a/testsuite/tests/generics/GenDerivOutput.stderr b/testsuite/tests/generics/GenDerivOutput.stderr
index 3e1f175178..d531e914f4 100644
--- a/testsuite/tests/generics/GenDerivOutput.stderr
+++ b/testsuite/tests/generics/GenDerivOutput.stderr
@@ -46,6 +46,9 @@ Derived class instances:
GHC.Base.fmap f GenDerivOutput.Nil = GenDerivOutput.Nil
GHC.Base.fmap f (GenDerivOutput.Cons a1 a2)
= GenDerivOutput.Cons (f a1) (GHC.Base.fmap f a2)
+ (GHC.Base.<$) z GenDerivOutput.Nil = GenDerivOutput.Nil
+ (GHC.Base.<$) z (GenDerivOutput.Cons a1 a2)
+ = GenDerivOutput.Cons ((\ b1 -> z) a1) ((GHC.Base.<$) z a2)
instance GHC.Generics.Generic (GenDerivOutput.Rose a) where
GHC.Generics.from x
@@ -224,9 +227,3 @@ Derived type family instances:
GenDerivOutput.Rose)))
-
-==================== Filling in method body ====================
-GHC.Base.Functor [GenDerivOutput.List]
- GHC.Base.<$ = GHC.Base.$dm<$ @GenDerivOutput.List
-
-
diff --git a/testsuite/tests/generics/T10604/T10604_deriving.stderr b/testsuite/tests/generics/T10604/T10604_deriving.stderr
index 6898af06a8..6862ff5adc 100644
--- a/testsuite/tests/generics/T10604/T10604_deriving.stderr
+++ b/testsuite/tests/generics/T10604/T10604_deriving.stderr
@@ -24,6 +24,7 @@ Derived class instances:
instance GHC.Base.Functor (T10604_deriving.Proxy *) where
GHC.Base.fmap f T10604_deriving.Proxy = T10604_deriving.Proxy
+ (GHC.Base.<$) z T10604_deriving.Proxy = T10604_deriving.Proxy
instance forall k (a :: k).
GHC.Generics.Generic (T10604_deriving.Proxy k a) where
@@ -541,9 +542,3 @@ Derived type family instances:
* GHC.Types.Int))))
-
-==================== Filling in method body ====================
-GHC.Base.Functor [T10604_deriving.Proxy *]
- GHC.Base.<$ = GHC.Base.$dm<$ @T10604_deriving.Proxy *
-
-