Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/d0ddde58f928a6b156d8061c406226c4fbb7cd22

>---------------------------------------------------------------

commit d0ddde58f928a6b156d8061c406226c4fbb7cd22
Author: Simon Peyton Jones <[email protected]>
Date:   Wed Aug 29 11:33:33 2012 +0100

    Fail earlier if there's an error in a type declaration
    
    This change means that we don't recover from erroneous type
    declarations, thereby reporting fewer errors.  But trying to
    recover confused GHC (leading to a pattern match failure in
    the compiler Trac #7175), and it turned out to be tricky
    to fix that.
    
    So this patch takes the more conservative path of failing
    earlier, perhaps reporting fewer real errors.

>---------------------------------------------------------------

 compiler/typecheck/TcTyClsDecls.lhs |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/compiler/typecheck/TcTyClsDecls.lhs 
b/compiler/typecheck/TcTyClsDecls.lhs
index 40210bc..743bd7c 100644
--- a/compiler/typecheck/TcTyClsDecls.lhs
+++ b/compiler/typecheck/TcTyClsDecls.lhs
@@ -147,11 +147,12 @@ tcTyClGroup boot_details tyclds
            -- expects well-formed TyCons
        ; tcExtendGlobalEnv tyclss $ do
        { traceTc "Starting validity check" (ppr tyclss)
-       ; mapM_ (recoverM (return ()) . addLocM checkValidTyCl) 
+       ; checkNoErrs $
+         mapM_ (recoverM (return ()) . addLocM checkValidTyCl) 
                (flattenTyClDecls tyclds)
            -- We recover, which allows us to report multiple validity errors
-           -- even from successive groups.  But we stop after all groups are
-           -- processed if we find any errors.
+           -- but we then fail if any are wrong.  Lacking the checkNoErrs
+           -- we get Trac #7175
 
            -- Step 4: Add the implicit things;
            -- we want them in the environment because



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to