... | ... | @@ -20,6 +20,16 @@ myError=error |
|
|
|
|
|
In spirit, this function has always required the `TypeInType` extension, since the type variable `r` is also used as a kind variable in `forall (a :: TYPE r)`. However, GHC mistakenly didn't require the explicit use of `TypeInType` here in earlier versions. This has been rectified in 8.4, so now `myError` will not typecheck without `TypeInType` being explicitly enabled.
|
|
|
|
|
|
|
|
|
In addition, prior GHCs would permit this sort of GADT, where the GADT return type constrains a *kind* parameter, without the use of `TypeInType`:
|
|
|
|
|
|
```
|
|
|
dataG(a :: k)whereGInt::GInt
|
|
|
```
|
|
|
|
|
|
|
|
|
Similarly, this now requires `TypeInType` in GHC 8.4.
|
|
|
|
|
|
### `TemplateHaskell` reification changes for GADTs
|
|
|
|
|
|
|
... | ... | |