Changes between Initial Version and Version 1 of Ticket #14419, comment 4
- Timestamp:
- May 24, 2018 2:23:47 PM (19 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #14419, comment 4
initial v1 6 6 }}} 7 7 8 Were flagged as ambiguously kinded is because `checkValidType` was only being called on the kinds of the individual arguments and result. In the former case, that would be `F a[sk] -> Type`, and in the latter case, it would be `F a[sig]` .8 Were flagged as ambiguously kinded is because `checkValidType` was only being called on the kinds of the individual arguments and result. In the former case, that would be `F a[sk] -> Type`, and in the latter case, it would be `F a[sig]`/`Type`. 9 9 10 10 What we need to be doing to catch the ambiguity in those cases is to call `checkValidType` on the //entire// kind of the declaration—in both cases, `forall a. F a -> Type`. I even whipped up a patch for doing so, which is essentially as simple as sticking an extra check in `kcTyClGroup`: