A little more debug tracing
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 21 Apr 2016 13:30:36 +0000 (14:30 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 22 Apr 2016 10:32:37 +0000 (11:32 +0100)
compiler/typecheck/TcCanonical.hs
compiler/typecheck/TcFlatten.hs

index 4ff046f..cde6478 100644 (file)
@@ -532,7 +532,7 @@ can_eq_nc
    -> TcS (StopOrContinue Ct)
 can_eq_nc flat ev eq_rel ty1 ps_ty1 ty2 ps_ty2
   = do { traceTcS "can_eq_nc" $
-         vcat [ ppr ev, ppr eq_rel, ppr ty1, ppr ps_ty1, ppr ty2, ppr ps_ty2 ]
+         vcat [ ppr flat, ppr ev, ppr eq_rel, ppr ty1, ppr ps_ty1, ppr ty2, ppr ps_ty2 ]
        ; rdr_env <- getGlobalRdrEnvTcS
        ; fam_insts <- getFamInstEnvs
        ; can_eq_nc' flat rdr_env fam_insts ev eq_rel ty1 ps_ty1 ty2 ps_ty2 }
index 6737106..6bac122 100644 (file)
@@ -1312,7 +1312,8 @@ flatten_tyvar1 tv
        ; case mb_ty of
            Just ty -> do { traceFlat "Following filled tyvar" (ppr tv <+> equals <+> ppr ty)
                          ; return (FTRFollowed ty (mkReflCo role ty)) } ;
-           Nothing -> do { fr <- getFlavourRole
+           Nothing -> do { traceFlat "Unfilled tyvar" (ppr tv)
+                         ; fr <- getFlavourRole
                          ; flatten_tyvar2  tv fr } }
 
 flatten_tyvar2 :: TcTyVar -> CtFlavourRole -> FlatM FlattenTvResult