X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FDebugger.hs;h=c0ac9d3166307295d4ba0c03795216d1e25710c7;hb=e314b86f6290e5440a46cd5cc29f7878cb78c6fb;hp=e13b8a809a8648d50c7c7dd91c33e01ae99fe4da;hpb=463f566a6504f193e4602299be5f2400ca10d21a;p=ghc-hetmet.git diff --git a/compiler/ghci/Debugger.hs b/compiler/ghci/Debugger.hs index e13b8a8..c0ac9d3 100644 --- a/compiler/ghci/Debugger.hs +++ b/compiler/ghci/Debugger.hs @@ -81,8 +81,9 @@ pprintClosureCommand session bindThings force str = do -- Then, we extract a substitution, -- mapping the old tyvars to the reconstructed types. let reconstructed_type = termType term - subst = unifyRTTI (idType id) (reconstructed_type) - return (term',subst) + mb_subst <- withSession cms $ \hsc_env -> + improveRTTIType hsc_env (idType id) (reconstructed_type) + return (term', fromMaybe emptyTvSubst mb_subst) tidyTermTyVars :: Session -> Term -> IO Term tidyTermTyVars (Session ref) t = do @@ -177,7 +178,6 @@ showTerm cms@(Session ref) term = do GHC.setSessionDynFlags cms dflags cPprShowable prec NewtypeWrap{ty=new_ty,wrapped_term=t} = cPprShowable prec t{ty=new_ty} - cPprShowable prec RefWrap{wrapped_term=t} = cPprShowable prec t cPprShowable _ _ = return Nothing needsParens ('"':_) = False -- some simple heuristics to see whether parens