-
batterseapower authored
Basically, if the user has written: class Foo a where bar :: a -> a {-# INLINE bar #-} Then we should error out because there is no default method corresponding to the `bar' INLINE pragma. This patch achieves this by splitting the signatures for a class declaration apart into two sets: one that applies to the defaults (INLINE, SPECIALISE), and one which defines the class itself (fixity, type signatures). The two sets are then renamed in different contexts.
batterseapower authoredBasically, if the user has written: class Foo a where bar :: a -> a {-# INLINE bar #-} Then we should error out because there is no default method corresponding to the `bar' INLINE pragma. This patch achieves this by splitting the signatures for a class declaration apart into two sets: one that applies to the defaults (INLINE, SPECIALISE), and one which defines the class itself (fixity, type signatures). The two sets are then renamed in different contexts.
Loading