Unify: Add Outputable instance for UnifyResultM
authorBen Gamari <bgamari.foss@gmail.com>
Fri, 30 Oct 2015 18:54:22 +0000 (19:54 +0100)
committerBen Gamari <ben@smart-cactus.org>
Fri, 30 Oct 2015 18:54:29 +0000 (19:54 +0100)
Reviewers: simonpj, austin

Reviewed By: austin

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1389

compiler/types/Unify.hs

index de22066..87681e0 100644 (file)
@@ -30,6 +30,8 @@ import Type
 import TyCon
 import TypeRep
 import Util ( filterByList )
+import Outputable
+import FastString (sLit)
 
 import Control.Monad (liftM, foldM, ap)
 #if __GLASGOW_HASKELL__ < 709
@@ -475,6 +477,11 @@ tcUnifyTysFG :: (TyVar -> BindFlag)
 tcUnifyTysFG bind_fn tys1 tys2
   = initUM bind_fn (unify_tys tys1 tys2)
 
+instance Outputable a => Outputable (UnifyResultM a) where
+  ppr SurelyApart    = ptext (sLit "SurelyApart")
+  ppr (Unifiable x)  = ptext (sLit "Unifiable") <+> ppr x
+  ppr (MaybeApart x) = ptext (sLit "MaybeApart") <+> ppr x
+
 {-
 ************************************************************************
 *                                                                      *