diff options
author | Sebastian Graf <sgraf1337@gmail.com> | 2019-11-03 19:42:52 +0000 |
---|---|---|
committer | Sebastian Graf <sebastian.graf@kit.edu> | 2021-03-12 11:01:09 +0100 |
commit | 27abfd0023589cb6ee3363512d160df2d1016275 (patch) | |
tree | e7a45b9557f6c4086cfe3197875454a6bf654889 /testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr | |
parent | df8e8ba267ffd7b8be0702bd64b8c39532359461 (diff) | |
download | haskell-27abfd0023589cb6ee3363512d160df2d1016275.tar.gz |
Implement the UnliftedDatatypes extensionwip/unlifted-data
GHC Proposal: 0265-unlifted-datatypes.rst
Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/265
Issues: https://gitlab.haskell.org/ghc/ghc/-/issues/19523
Implementation Details: Note [Implementation of UnliftedDatatypes]
This patch introduces the `UnliftedDatatypes` extension. When this extension is
enabled, GHC relaxes the restrictions around what result kinds are allowed in
data declarations. This allows data types for which an unlifted or
levity-polymorphic result kind is inferred.
The most significant changes are in `GHC.Tc.TyCl`, where
`Note [Implementation of UnliftedDatatypes]` describes the details of the
implementation.
Fixes #19523.
Diffstat (limited to 'testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr')
-rw-r--r-- | testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr b/testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr new file mode 100644 index 0000000000..7c9b856677 --- /dev/null +++ b/testsuite/tests/unlifted-datatypes/should_fail/UnlDataNullaryPoly.stderr @@ -0,0 +1,7 @@ + +UnlDataNullaryPoly.hs:10:10: error: + • Quantified type's kind mentions quantified type variable + type: ‘forall (l :: Levity). T’ + where the body of the forall has this kind: ‘TYPE ('BoxedRep l)’ + • In the definition of data constructor ‘MkT’ + In the data type declaration for ‘T’ |