Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : ghc-new-flavor
http://hackage.haskell.org/trac/ghc/changeset/e3e740d972daef08e50235b2fb511b525b8dfe75 >--------------------------------------------------------------- commit e3e740d972daef08e50235b2fb511b525b8dfe75 Author: Dimitrios.Vytiniotis <[email protected]> Date: Wed Apr 4 12:54:11 2012 +0100 Wibble: using original type for the dictionary if it has not changed (to preserve synonyms) >--------------------------------------------------------------- compiler/typecheck/TcCanonical.lhs | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/typecheck/TcCanonical.lhs b/compiler/typecheck/TcCanonical.lhs index 6bb6e99..b24f76c 100644 --- a/compiler/typecheck/TcCanonical.lhs +++ b/compiler/typecheck/TcCanonical.lhs @@ -309,10 +309,13 @@ canClass d fl cls tys xi = mkClassPred cls xis ; mb <- rewriteCtFlavor fl xi co + ; case mb of - Just new_fl -> continueWith $ - CDictCan { cc_flavor = new_fl - , cc_tyargs = xis, cc_class = cls, cc_depth = d } + Just new_fl -> + let (ClassPred cls xis_for_dict) = classifyPredType (ctFlavPred new_fl) + in continueWith $ + CDictCan { cc_flavor = new_fl + , cc_tyargs = xis_for_dict, cc_class = cls, cc_depth = d } Nothing -> return Stop } emitSuperclasses :: Ct -> TcS StopOrContinue _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
