Skip to content

Don't generate wrappers for `type data` constructors with StrictData

Ryan Scott requested to merge wip/T24620 into master

Previously, the logic for checking if a data constructor needs a wrapper or not would take into account whether the constructor's fields have explicit strictness (e.g., data T = MkT !Int), but the logic would not take into account whether StrictData was enabled. This meant that something like type data T = MkT Int would incorrectly generate a wrapper for MkT if StrictData was enabled, leading to the horrible errors seen in #24620 (closed). To fix this, we disable generating wrappers for type data constructors altogether.

Fixes #24620 (closed).

Merge request reports