Skip to content

Implement the UnliftedDatatypes extension

Sebastian Graf requested to merge wip/unlifted-data into master

This patch introduces the -XUnliftedDatatypes 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 (closed).

Edited by Sebastian Graf

Merge request reports