projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make the LiberateCase transformation understand associated types
[ghc-hetmet.git]
/
compiler
/
typecheck
/
TcRnDriver.lhs
diff --git
a/compiler/typecheck/TcRnDriver.lhs
b/compiler/typecheck/TcRnDriver.lhs
index
9c9c71f
..
eabd3bc
100644
(file)
--- a/
compiler/typecheck/TcRnDriver.lhs
+++ b/
compiler/typecheck/TcRnDriver.lhs
@@
-302,6
+302,7
@@
tcRnExtCore hsc_env (HsExtCore this_mod decls src_binds)
mg_types = final_type_env,
mg_insts = tcg_insts tcg_env,
mg_fam_insts = tcg_fam_insts tcg_env,
mg_types = final_type_env,
mg_insts = tcg_insts tcg_env,
mg_fam_insts = tcg_fam_insts tcg_env,
+ mg_fam_inst_env = tcg_fam_inst_env tcg_env,
mg_rules = [],
mg_binds = core_binds,
mg_rules = [],
mg_binds = core_binds,
@@
-396,15
+397,16
@@
tc_rn_src_decls boot_details ds
-- Deal with decls up to, but not including, the first splice
(tcg_env, rn_decls) <- checkNoErrs $ rnTopSrcDecls first_group ;
-- Deal with decls up to, but not including, the first splice
(tcg_env, rn_decls) <- checkNoErrs $ rnTopSrcDecls first_group ;
- -- checkNoErrs: don't typecheck if renaming failed
- tc_envs <- setGblEnv tcg_env $
- tcTopSrcDecls boot_details rn_decls ;
+ -- checkNoErrs: stop if renaming fails
+
+ (tcg_env, tcl_env) <- setGblEnv tcg_env $
+ tcTopSrcDecls boot_details rn_decls ;
-- If there is no splice, we're nearly done
-- If there is no splice, we're nearly done
- setEnvs tc_envs $
+ setEnvs (tcg_env, tcl_env) $
case group_tail of {
Nothing -> do { tcg_env <- checkMain ; -- Check for `main'
case group_tail of {
Nothing -> do { tcg_env <- checkMain ; -- Check for `main'
- return (tcg_env, snd tc_envs)
+ return (tcg_env, tcl_env)
} ;
-- If there's a splice, we must carry on
} ;
-- If there's a splice, we must carry on