Changes between Initial Version and Version 1 of Ticket #14419, comment 4


Ignore:
Timestamp:
May 24, 2018 2:23:47 PM (19 months ago)
Author:
RyanGlScott
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #14419, comment 4

    initial v1  
    66}}}
    77
    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]`.
     8Were 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`.
    99
    1010What 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`: