[fixed super entailment for multi param type classes mail@stefanwehr.de**20050801000721] { hunk ./Entailment.hs 39 - superClasses <- findSuperClasses i - transitives <- sequence [bySuper (ClassConstraint i' (applySubst s ts)) - | i' <- superClasses] - return (p : concat transitives) + superConstraints <- findAllSuperConstraints i + let res = p : (applySubst s superConstraints) + debug ("bySuper " ++ showPpr p ++ " = " ++ showCommaListed res) + return res addfile ./tests/multi-param-typeclasses/should_pass/001.out hunk ./tests/multi-param-typeclasses/should_pass/001.out 1 +1 addfile ./tests/multi-param-typeclasses/should_pass/001.phc hunk ./tests/multi-param-typeclasses/should_pass/001.phc 1 - +class A a where { + type T a; +} + +class A a => B b a where { + foo :: b -> a -> T a; +} + +main = 1; }