"Conflicting family instance declarations" error mentions code I did not write
I get an error message mentioning code that I did not write but results from desugaring when compiling the following program:
{-# LANGUAGE TypeFamilies, FlexibleInstances, OverlappingInstances #-}
class Stupid a where
type F a
instance Stupid a where
type F a = a
instance Stupid Int where
type F Int = Bool
The error I get is:
families.hs:7:7:
Conflicting family instance declarations:
type instance F a -- Defined at families.hs:7:7
type instance F Int -- Defined at families.hs:10:7
The error mentions "type instance F a", but it should say "type F a", because that is what I wrote in the source file. Or maybe "type F a in instance Stupid a" to make it clear that it's an instance declaration.
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | rendel@informatik.uni-marburg.de |
Operating system | |
Architecture |