[fixed bug in type-inference mail@stefanwehr.de**20050526081201 constraints resulting from infering the type for `e' in `case e of ...' where not propagated properly. ] { hunk ./TypeInference.hs 182 - return (concat (pss ++ rss) ++ map EC (concat (qss ++ qss')), + return (ps ++ concat (pss ++ rss) ++ map EC (concat (qss ++ qss')), addfile ./tests/type-inference/should_pass/031.out hunk ./tests/type-inference/should_pass/031.out 1 +foo :: forall a[1] . C a[1] => a[1] -> D +bar :: forall v[-2] . C v[-2] => v[-2] -> Int addfile ./tests/type-inference/should_pass/031.phc hunk ./tests/type-inference/should_pass/031.phc 1 - +data D = D; + +class C a where { +} + +foo :: C a => a -> D; +foo x = D; + +bar y = case foo y of D -> 1;; }