implement associated type synonyms
When I try to compile:
class Foo a where type Bar a :: * aBar :: Bar a
I get this "type error":
Test.hs:1:0: Type synonym `Bar' should have 1 argument, but has been given 1 When checking the class method: aBar :: Bar a In the class declaration for `Foo'
I've tracked it down to this case in
check_tau_type rank ubx_tup ty@(TyConApp tc tys) | isSynTyCon tc
tcView, which in turn calls
tcExpandTyCon_maybe, which doesn't handle open type synonyms. (And so
Nothing is returned down the line, and you get this nasty error.)
It should be pretty easy to fix if you actually have a clue what you are doing ;-). So, please fix it. Then I can get back to trying to reimplement the MTL with ATs ;-).
|Component||Compiler (Type checker)|