summaryrefslogtreecommitdiff
path: root/testsuite/tests/generics
diff options
context:
space:
mode:
authorBaldur Blöndal <baldurpet@gmail.com>2021-05-11 22:07:38 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-08-02 04:12:04 -0400
commita4ca6caaa2f61d1ef62db824dd2116b753cf24ee (patch)
treed71fbe273b5e7297a04e91b2d3bdac4d11555f7b /testsuite/tests/generics
parentb4d39adbb5884c764c6c11b2614a340c78cc078e (diff)
downloadhaskell-a4ca6caaa2f61d1ef62db824dd2116b753cf24ee.tar.gz
Add Generically (generic Semigroup, Monoid instances) and Generically1 (generic Functor, Applicative, Alternative, Eq1, Ord1 instances) to GHC.Generics.
Diffstat (limited to 'testsuite/tests/generics')
-rw-r--r--testsuite/tests/generics/T19819.hs17
-rw-r--r--testsuite/tests/generics/T19819.stdout2
-rw-r--r--testsuite/tests/generics/all.T1
3 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/generics/T19819.hs b/testsuite/tests/generics/T19819.hs
new file mode 100644
index 0000000000..f624008640
--- /dev/null
+++ b/testsuite/tests/generics/T19819.hs
@@ -0,0 +1,17 @@
+{-# Language DeriveGeneric #-}
+{-# Language DerivingStrategies #-}
+{-# Language DerivingVia #-}
+
+import GHC.Generics (Generic, Generically(..))
+
+data T = T [Int] [Int] [Int] [Int] [Int] [Int]
+ deriving
+ stock (Show, Generic)
+
+ deriving (Semigroup, Monoid)
+ via Generically T
+
+main :: IO ()
+main = do
+ print (mempty :: T)
+ print (T [1,2] [3] [] [4,5,6] [7] [8] <> T [10,20] [30] [] [40,50,60] [70] [80])
diff --git a/testsuite/tests/generics/T19819.stdout b/testsuite/tests/generics/T19819.stdout
new file mode 100644
index 0000000000..31a6d4b087
--- /dev/null
+++ b/testsuite/tests/generics/T19819.stdout
@@ -0,0 +1,2 @@
+T [] [] [] [] [] []
+T [1,2,10,20] [3,30] [] [4,5,6,40,50,60] [7,70] [8,80] \ No newline at end of file
diff --git a/testsuite/tests/generics/all.T b/testsuite/tests/generics/all.T
index 4887d491cb..1fccfffc16 100644
--- a/testsuite/tests/generics/all.T
+++ b/testsuite/tests/generics/all.T
@@ -44,3 +44,4 @@ test('T10361b', normal, compile, [''])
test('T11358', normal, compile_and_run, [''])
test('T12220', normal, compile, [''])
test('T15012', [extra_files(['T15012.hs', 'T15012a.hs'])], makefile_test, [])
+test('T19819', normal, compile_and_run, [''])