diff options
| author | Ryan Scott <ryan.gl.scott@gmail.com> | 2019-04-01 20:36:31 -0400 |
|---|---|---|
| committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-04-04 04:29:29 -0400 |
| commit | 25c02ea172ef1dad2d12d8baff6ce57a68bf4127 (patch) | |
| tree | 6b1a044b85ecb82c2b7f1edaece878aec6a9098b /docs/users_guide | |
| parent | 75abaaead796415cf2b5da610f4b3ee75b9d7759 (diff) | |
| download | haskell-25c02ea172ef1dad2d12d8baff6ce57a68bf4127.tar.gz | |
Fix #16518 with some more kind-splitting smarts
This patch corrects two simple oversights that led to #16518:
1. `HsUtils.typeToLHsType` was taking visibility into account in the
`TyConApp` case, but not the `AppTy` case. I've factored out the
visibility-related logic into its own `go_app` function and now
invoke `go_app` from both the `TyConApp` and `AppTy` cases.
2. `Type.fun_kind_arg_flags` did not properly split kinds with
nested `forall`s, such as
`(forall k. k -> Type) -> (forall k. k -> Type)`. This was simply
because `fun_kind_arg_flags`'s `FunTy` case always bailed out and
assumed all subsequent arguments were `Required`, which clearly
isn't the case for nested `forall`s. I tweaked the `FunTy` case
to recur on the result kind.
Diffstat (limited to 'docs/users_guide')
0 files changed, 0 insertions, 0 deletions
