From 2a5fc0ad50c857098558461434c29abd478ea0a1 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Wed, 23 Oct 2019 09:42:20 -0400 Subject: Reify oversaturated data family instances correctly (#1103) This fixes #1103 by adapting the corresponding patch for GHC (see https://gitlab.haskell.org/ghc/ghc/issues/17296 and https://gitlab.haskell.org/ghc/ghc/merge_requests/1877). --- html-test/ref/Bug1103.html | 556 +++++++++++++++++++++++++++++++++++++++++++++ html-test/src/Bug1103.hs | 24 ++ 2 files changed, 580 insertions(+) create mode 100644 html-test/ref/Bug1103.html create mode 100644 html-test/src/Bug1103.hs (limited to 'html-test') diff --git a/html-test/ref/Bug1103.html b/html-test/ref/Bug1103.html new file mode 100644 index 00000000..cc16017b --- /dev/null +++ b/html-test/ref/Bug1103.html @@ -0,0 +1,556 @@ +Bug1103
Safe HaskellSafe

Bug1103

Documentation

data family Foo1 :: Type -> Type #

Instances

Instances details
data Foo1 Bool #
Instance details

Defined in Bug1103

data Foo1 (Maybe a) #
Instance details

Defined in Bug1103

data Foo1 (Maybe a)

data family Foo2 :: k -> Type #

Instances

Instances details
data Foo2 (a :: Char) #
Instance details

Defined in Bug1103

data Foo2 (a :: Char)
data Foo2 Bool #
Instance details

Defined in Bug1103

data Foo2 (Maybe a :: Type) #
Instance details

Defined in Bug1103

data Foo2 (Maybe a :: Type)
data Foo2 (a :: Char -> Char) #
Instance details

Defined in Bug1103

data Foo2 (a :: Char -> Char)

data family Foo3 :: k #

Instances

Instances details
data Foo3 #
Instance details

Defined in Bug1103

data Foo3
data Foo3 (a :: Char) #
Instance details

Defined in Bug1103

data Foo3 (a :: Char)
data Foo3 (a :: Char -> Char) #
Instance details

Defined in Bug1103

data Foo3 (a :: Char -> Char)
data Foo3 Bool #
Instance details

Defined in Bug1103

data Foo3 (Maybe a :: Type) #
Instance details

Defined in Bug1103

data Foo3 (Maybe a :: Type)
\ No newline at end of file diff --git a/html-test/src/Bug1103.hs b/html-test/src/Bug1103.hs new file mode 100644 index 00000000..1f387e62 --- /dev/null +++ b/html-test/src/Bug1103.hs @@ -0,0 +1,24 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE GADTs #-} +{-# LANGUAGE PolyKinds #-} +{-# LANGUAGE TypeFamilies #-} +module Bug1103 where + +import Data.Kind + +data family Foo1 :: Type -> Type +data instance Foo1 Bool = Foo1Bool +data instance Foo1 (Maybe a) + +data family Foo2 :: k -> Type +data instance Foo2 Bool = Foo2Bool +data instance Foo2 (Maybe a) +data instance Foo2 :: Char -> Type +data instance Foo2 :: (Char -> Char) -> Type where + +data family Foo3 :: k +data instance Foo3 +data instance Foo3 Bool = Foo3Bool +data instance Foo3 (Maybe a) +data instance Foo3 :: Char -> Type +data instance Foo3 :: (Char -> Char) -> Type where -- cgit v1.2.3