diff options
author | sheaf <sam.derbyshire@gmail.com> | 2021-10-26 11:42:19 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-10-26 12:37:02 -0400 |
commit | 9cc6c1932dbbd3d27405a8ebe5586a0ef09dd7fd (patch) | |
tree | eb49861c236210db092e9c14ffc11e1441e44d96 /rts | |
parent | 0255ef38b1bb0d4f3608bf92ebc8a93955ccb30a (diff) | |
download | haskell-9cc6c1932dbbd3d27405a8ebe5586a0ef09dd7fd.tar.gz |
Don't default type variables in type families
This patch removes the following defaulting of type variables
in type and data families:
- type variables of kind RuntimeRep defaulting to LiftedRep
- type variables of kind Levity defaulting to Lifted
- type variables of kind Multiplicity defaulting to Many
It does this by passing "defaulting options" to the `defaultTyVars`
function; when calling from `tcTyFamInstEqnGuts` or
`tcDataFamInstHeader` we pass options that avoid defaulting.
This avoids wildcards being defaulted, which caused type families
to unexpectedly fail to reduce.
Note that kind defaulting, applicable only with -XNoPolyKinds,
is not changed by this patch.
Fixes #17536
-------------------------
Metric Increase:
T12227
-------------------------
Diffstat (limited to 'rts')
0 files changed, 0 insertions, 0 deletions