This code won't produce a haddock error. Nevertheless haddock comment to default bar will be lost.
I think comments to default realizations are very useful, but if it's too hard to fix maybe it is possible to produce an error. I was very surprised not finding my comments in result, while all had been processed fine.
-- | MyClass
class MyClass m where
-- | foo signature with default realization
foo :: Num a => m a
foo = bar
-- | bar signature
bar :: Num a => m a
-- | default bar realization with restricted signature
default bar :: (a ~ Int) => m a
bar = foo
This code won't produce a haddock error. Nevertheless haddock comment to
default bar
will be lost. I think comments to default realizations are very useful, but if it's too hard to fix maybe it is possible to produce an error. I was very surprised not finding my comments in result, while all had been processed fine.