Ticket #37 (closed bug report: fixed)
Multiple contexts are mis-handled
|Reported by:||nibro||Owned by:||nibro|
|Priority:||major||Milestone:||Full code support|
HSE complains about multiple class contexts in type signatures.
multipleCtx :: Eq a => Show a => a multipleCtx = undefined
This should be accepted if explicit forall is enabled by any extension. HSE rejects it regardless of flags.
However, if the second context is parenthesised, i.e.
multipleCtxt :: Eq a => (Show a => a)
then HSE accepts it even without e.g. Rank2Types.
HSE's behavior should be the same with or without the parenthesis, and should exclude the type in both cases with no flags, and accept it in both cases when Rank2Types is not on.