X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Frename%2FRnMonad.lhs;h=92f012d599685d3dc5688194dd72d1d551cd0e16;hb=6a3f5f6beed9cec42c4b3a1b7cabc1809c838562;hp=17c5c716e38b2a74c2381180a8e65a68856289fe;hpb=fffba9e37c59f6b03bb79dcafb818b88abc0ed47;p=ghc-hetmet.git diff --git a/ghc/compiler/rename/RnMonad.lhs b/ghc/compiler/rename/RnMonad.lhs index 17c5c71..92f012d 100644 --- a/ghc/compiler/rename/RnMonad.lhs +++ b/ghc/compiler/rename/RnMonad.lhs @@ -299,8 +299,8 @@ initRn dflags finder hit hst pcs mod loc do_rn = do let prs = pcs_PRS pcs let pst = pcs_PST pcs + let uniqs = prsNS prs - uniqs <- mkSplitUniqSupply 'r' names_var <- newIORef (uniqs, origNames (prsOrig prs), origIParam (prsOrig prs)) errs_var <- newIORef (emptyBag,emptyBag) @@ -322,14 +322,15 @@ initRn dflags finder hit hst pcs mod loc do_rn res <- do_rn rn_down () -- Grab state and record it - (warns, errs) <- readIORef errs_var - new_ifaces <- readIORef iface_var - (_, new_origN, new_origIP) <- readIORef names_var + (warns, errs) <- readIORef errs_var + new_ifaces <- readIORef iface_var + (new_NS, new_origN, new_origIP) <- readIORef names_var let new_orig = Orig { origNames = new_origN, origIParam = new_origIP } let new_prs = prs { prsOrig = new_orig, prsDecls = iDecls new_ifaces, prsInsts = iInsts new_ifaces, - prsRules = iRules new_ifaces } + prsRules = iRules new_ifaces, + prsNS = new_NS } let new_pcs = pcs { pcs_PIT = iPIT new_ifaces, pcs_PRS = new_prs }