X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypecheck%2FTcRnDriver.lhs;h=66f3f95e0b3ad9a6c0c1bf2c42f69b60dade8115;hb=bb8335796f5a6679849f7fae5ad4dcbb717e9755;hp=31d832e9078584504b6050ab7763fbd6903f2b74;hpb=adc50ac8d406b712e093c808c916a8bd44731ee5;p=ghc-hetmet.git diff --git a/ghc/compiler/typecheck/TcRnDriver.lhs b/ghc/compiler/typecheck/TcRnDriver.lhs index 31d832e..66f3f95 100644 --- a/ghc/compiler/typecheck/TcRnDriver.lhs +++ b/ghc/compiler/typecheck/TcRnDriver.lhs @@ -962,7 +962,10 @@ mkPlan (L loc (ExprStmt expr _ _)) -- An expression typed at the prompt -- If not, fail; if so, try to print it. -- The two-step process avoids getting two errors: one from -- the expression itself, and one from the 'print it' part - do { tcGhciStmts [let_stmt]; tcGhciStmts [let_stmt, print_it] } + -- This two-step story is very clunky, alas + do { checkNoErrs (tcGhciStmts [let_stmt]) + --- checkNoErrs defeats the error recovery of let-bindings + ; tcGhciStmts [let_stmt, print_it] } ]} mkPlan stmt@(L loc (BindStmt {}))