Unavoidable duplicate constraint warning
The "duplicate constraint" warning can be triggered in a context where it's impossible to remove it, because the constraints come with a type synonym.
The following standalone little module reproduces the problem:
{-# LANGUAGE FlexibleContexts, Rank2Types #-}
module Test where
type Constrained x y r = (Eq x, Eq y) => x -> y -> r
f :: Constrained String String ()
f = undefined
The warning is
Test.hs:7:6: Warning:
Duplicate constraint(s): Eq String
In the type signature for `f': f :: Constrained String String ()
The warning is present in 7.4.1 and 7.6.1, and presumably in the versions between as well.
Trac metadata
Trac field | Value |
---|---|
Version | 7.6.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |