Tue Jul 21 22:09:33 PDT 2009 simo...@microsoft.com * Take account of GADTs when reporting patterm-match overlap Ignore-this: 7dcbdcb91021e83e6e6208a2e68c50c9 When matching against a GADT, some of the constructors may be impossible. For example data T a where T1 :: T Int T2 :: T Bool T3 :: T a f :: T Int -> Int f T1 = 3 f T3 = 4 Here, does not have any missing cases, despite omittting T2, because T2 :: T Bool. This patch teaches the overlap checker about GADTs, which happily turned out to be rather easy even though the overlap checker needs a serious rewrite.
M ./compiler/deSugar/Check.lhs -6 +9 M ./compiler/typecheck/TcTyClsDecls.lhs -1 +8 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090722050933-1287e-d07a71da1e5456f4c1ada3fc15adf183e532fff1.gz _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc