Implement auto-specialisation of imported Ids
[ghc-hetmet.git] / compiler / typecheck / TcRnMonad.lhs
index 77d7374..456bd7e 100644 (file)
@@ -107,19 +107,21 @@ initTc hsc_env hsc_src keep_rn_syntax mod do_this
                 tcg_rn_exports = maybe_rn_syntax [],
                tcg_rn_decls   = maybe_rn_syntax emptyRnGroup,
 
-               tcg_binds    = emptyLHsBinds,
-               tcg_ev_binds = emptyBag,
-               tcg_warns    = NoWarnings,
-               tcg_anns     = [],
-               tcg_insts    = [],
-               tcg_fam_insts= [],
-               tcg_rules    = [],
-               tcg_fords    = [],
-               tcg_dfun_n   = dfun_n_var,
-               tcg_keep     = keep_var,
-               tcg_doc_hdr  = Nothing,
-                tcg_hpc      = False,
-                tcg_main     = Nothing
+               tcg_binds     = emptyLHsBinds,
+               tcg_imp_specs = [],
+               tcg_sigs      = emptyNameSet,
+               tcg_ev_binds  = emptyBag,
+               tcg_warns     = NoWarnings,
+               tcg_anns      = [],
+               tcg_insts     = [],
+               tcg_fam_insts = [],
+               tcg_rules     = [],
+               tcg_fords     = [],
+               tcg_dfun_n    = dfun_n_var,
+               tcg_keep      = keep_var,
+               tcg_doc_hdr   = Nothing,
+                tcg_hpc       = False,
+                tcg_main      = Nothing
             } ;
             lcl_env = TcLclEnv {
                tcl_errs       = errs_var,
@@ -963,8 +965,8 @@ setUntouchables untch_tvs thing_inside
   = updLclEnv (\ env -> env { tcl_untch = untch_tvs }) thing_inside 
 
 getUntouchables :: TcM TcTyVarSet 
-getUntouchables
-   = do { env <- getLclEnv; return (tcl_untch env) } 
+getUntouchables = do { env <- getLclEnv; return (tcl_untch env) } 
+   -- NB: no need to zonk this TcTyVarSet: they are, after all, untouchable!
 
 isUntouchable :: TcTyVar -> TcM Bool
 isUntouchable tv = do { env <- getLclEnv; return (tv `elemVarSet` tcl_untch env) }