Spurious warning with new associated types and MultiParamTypeClasses
Consider this program:
{-# LANGUAGE TypeFamilies, MultiParamTypeClasses #-}
module Overlap where
class Foo a b where
type Typ a
instance Foo Int Int where
type Typ Int = Bool
instance Foo Int Bool where
We get a warning:
Overlap.hs:10:1:
Warning: No explicit AT declaration for `Typ'
In the instance declaration for `Foo Int Bool'
But inserting such an AT declaration would be an error!
Overlap.hs:8:8:
Conflicting family instance declarations:
type Typ Int -- Defined at Overlap.hs:8:8
type Typ Int -- Defined at Overlap.hs:11:8
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |