id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
2985,Bogus superclass dictionary with equality constraints,simonpj,igloo,"{{{
{-# LANGUAGE TypeFamilies, UndecidableInstances #-}
{-# OPTIONS -fglasgow-exts -Wnot #-}

module Main where

instance (Num a, Num b, a ~ b) => Num (a,b) where
     x * _ = x 

test1 = (1,1) * (2,2)

main = print test1
}}}
Running this program produces `<<loop>>`.  Reason is that the `Num (a,b)` dictionary gets an `Eq` superclass dictionary that is essentially bottom.  I'm not sure why, but it's a bad bug.

See http://article.gmane.org/gmane.comp.lang.haskell.general/16796



Simon
",merge,closed,normal,6.10.2,Compiler,6.10.1,fixed,,,Unknown/Multiple,Unknown/Multiple,,Unknown,indexed-types/should_run/T2985,,,
