A bit more tc-tracing
authorSimon Peyton Jones <simonpj@microsoft.com>
Tue, 14 Nov 2017 09:21:39 +0000 (09:21 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 14 Nov 2017 11:12:34 +0000 (11:12 +0000)
compiler/typecheck/TcHsType.hs
compiler/typecheck/TcType.hs

index 19fd5c1..07cd4d2 100644 (file)
@@ -1451,7 +1451,9 @@ kcHsTyVarBndrs name flav cusk all_kind_vars
              tycon = mkTcTyCon name binders res_kind
                                (scoped_kvs ++ binderVars binders) flav
 
-       ; traceTc "kcHsTyVarBndrs: not-cusk" (ppr name <+> ppr binders)
+       ; traceTc "kcHsTyVarBndrs: not-cusk" $
+         vcat [ ppr name, ppr kv_ns, ppr hs_tvs, ppr dep_names
+              , ppr binders, ppr (mkTyConKind binders res_kind) ]
        ; return (tycon, stuff) }
   where
     open_fam = tcFlavourIsOpen flav
index d781aec..f1ea864 100644 (file)
@@ -1634,7 +1634,10 @@ tcGetTyVar_maybe (TyVarTy tv)   = Just tv
 tcGetTyVar_maybe _              = Nothing
 
 tcGetTyVar :: String -> Type -> TyVar
-tcGetTyVar msg ty = expectJust msg (tcGetTyVar_maybe ty)
+tcGetTyVar msg ty
+  = case tcGetTyVar_maybe ty of
+     Just tv -> tv
+     Nothing -> pprPanic msg (ppr ty)
 
 tcIsTyVarTy :: Type -> Bool
 tcIsTyVarTy ty | Just ty' <- tcView ty = tcIsTyVarTy ty'