... | ... | @@ -154,6 +154,25 @@ GHC can now detect more uses of literal values that do not lie within the expect |
|
|
- Negative `Natural` literals (from `Numeric.Natural`), such as `(-123) :: Natural`.
|
|
|
- Empty `Natural` enumerations, such as `[10..3] :: [Natural]`.
|
|
|
|
|
|
### Stricter checks on uses of unsaturated type synonyms
|
|
|
|
|
|
|
|
|
Previously, GHC would accept some uses of type synonyms which did not have all of their arguments supplied without requiring the `LiberalTypeSynonyms` extension. Starting with version 8.8, GHC is stricter about requiring the extension in these cases.
|
|
|
|
|
|
|
|
|
For example, this code requires `LiberalTypeSynonyms` in GHC 8.8:
|
|
|
|
|
|
```wiki
|
|
|
type Generic i o = forall x. i x -> o x
|
|
|
type Id x = x
|
|
|
|
|
|
foo :: Generic Id Id
|
|
|
foo = undefined
|
|
|
```
|
|
|
|
|
|
|
|
|
If GHC is complaining about type synonyms not being passed enough arguments or an 'illegal polymorphic type', try enabling `LiberalTypeSynonyms` in that module.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Library changes
|
... | ... | |