[project @ 1999-11-01 17:09:54 by simonpj]
[ghc-hetmet.git] / ghc / compiler / typecheck / TcIfaceSig.lhs
index c4a59f3..2cf4095 100644 (file)
@@ -89,17 +89,14 @@ tcIdInfo unf_env in_scope_vars name ty info info_ins
     tcPrag info (HsNoCafRefs)   = returnTc (info `setCafInfo`   NoCafRefs)
     tcPrag info (HsCprInfo cpr_info)     = returnTc (info `setCprInfo` cpr_info)
 
-    tcPrag info (HsUnfold inline_prag maybe_expr)
-       = (case maybe_expr of
-               Just expr -> tcPragExpr unf_env name in_scope_vars expr
-               Nothing   -> returnNF_Tc Nothing
-         )                                     `thenNF_Tc` \ maybe_expr' ->
+    tcPrag info (HsUnfold inline_prag expr)
+       = tcPragExpr unf_env name in_scope_vars expr    `thenNF_Tc` \ maybe_expr' ->
          let
                -- maybe_expr doesn't get looked at if the unfolding
                -- is never inspected; so the typecheck doesn't even happen
                unfold_info = case maybe_expr' of
                                Nothing    -> noUnfolding
-                               Just expr' -> mkUnfolding expr' 
+                               Just expr' -> mkTopUnfolding expr' 
                info1 = info `setUnfoldingInfo` unfold_info
                info2 = info1 `setInlinePragInfo` inline_prag
          in
@@ -122,7 +119,7 @@ tcWorkerInfo unf_env ty info worker_name
     let
        -- Watch out! We can't pull on unf_env too eagerly!
        info' = case explicitLookupValue unf_env worker_name of
-                       Just worker_id -> info `setUnfoldingInfo`  mkUnfolding (wrap_fn worker_id)
+                       Just worker_id -> info `setUnfoldingInfo`  mkTopUnfolding (wrap_fn worker_id)
                                                `setWorkerInfo`     Just worker_id
 
                        Nothing        -> pprTrace "tcWorkerInfo failed:" (ppr worker_name) info