... | @@ -48,7 +48,7 @@ warning: [-Wincomplete-patterns] |
... | @@ -48,7 +48,7 @@ warning: [-Wincomplete-patterns] |
|
Guards do not cover entire pattern space
|
|
Guards do not cover entire pattern space
|
|
```
|
|
```
|
|
|
|
|
|
### `PolyKinds` and `TypeInType` are pickier
|
|
### `PolyKinds` is pickier
|
|
|
|
|
|
|
|
|
|
GHC is now more diligent about catching illegal uses of kind polymorphism that snuck into recent GHC releases. For instance, this used to be accepted without `PolyKinds`:
|
|
GHC is now more diligent about catching illegal uses of kind polymorphism that snuck into recent GHC releases. For instance, this used to be accepted without `PolyKinds`:
|
... | @@ -62,7 +62,7 @@ classC a where |
... | @@ -62,7 +62,7 @@ classC a where |
|
Despite the fact that `a` is used as a kind variable in the type signature for `c`. This is now an error unless `PolyKinds` is explicitly enabled.
|
|
Despite the fact that `a` is used as a kind variable in the type signature for `c`. This is now an error unless `PolyKinds` is explicitly enabled.
|
|
|
|
|
|
|
|
|
|
Moreover, GHC 8.4 would accept the following without the use of `TypeInType` (or even `PolyKinds`!):
|
|
Moreover, GHC 8.4 would accept the following without the use of `PolyKinds`:
|
|
|
|
|
|
```
|
|
```
|
|
f:: forall k (a :: k).Proxy a
|
|
f:: forall k (a :: k).Proxy a
|
... | @@ -70,7 +70,7 @@ f=Proxy |
... | @@ -70,7 +70,7 @@ f=Proxy |
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
Despite the fact that `k` is used as both a type and kind variable. This is now an error unless `TypeInType` is explicitly enabled.
|
|
Despite the fact that `k` is used as both a type and kind variable. This is now an error unless `PolyKinds` is explicitly enabled.
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
... | | ... | |