X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcBinds.lhs;h=e71d920bf0833ffece3b680e136de0a442230432;hb=f7f06be1f47dcb3a48c4bc7ef0a2c59e49e28115;hp=cffcb9cfb939d42e64bb3a40c9b9628b44f703b5;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcBinds.lhs b/compiler/typecheck/TcBinds.lhs index cffcb9c..e71d920 100644 --- a/compiler/typecheck/TcBinds.lhs +++ b/compiler/typecheck/TcBinds.lhs @@ -173,6 +173,11 @@ tcValBinds top_lvl (ValBindsOut binds sigs) thing_inside ; sig_fn = mkSigFun ty_sigs } ; poly_ids <- mapM tcTySig ty_sigs + -- No recovery from bad signatures, because the type sigs + -- may bind type variables, so proceeding without them + -- can lead to a cascade of errors + -- ToDo: this means we fall over immediately if any type sig + -- is wrong, which is over-conservative, see Trac bug #745 -- Extend the envt right away with all -- the Ids declared with type signatures