1- {-# LANGUAGE LambdaCase, OverloadedStrings, RecordWildCards, ViewPatterns #-}
1+ {-# LANGUAGE CPP, LambdaCase, OverloadedStrings, RecordWildCards, ViewPatterns #-}
22module TypeLevel.Rewrite (plugin ) where
33
44import Control.Monad
@@ -8,6 +8,17 @@ import Data.Foldable
88import Data.Traversable
99
1010-- GHC API
11+ #if MIN_VERSION_ghc(9,0,0)
12+ import GHC.Core.Coercion (Role (Representational ), mkUnivCo )
13+ import GHC.Tc.Types.Constraint (CtEvidence (ctev_loc ), Ct , ctEvExpr , ctLoc , mkNonCanonical )
14+ import GHC.Plugins (PredType , SDoc , eqType , fsep , ppr )
15+ import GHC.Plugins (Plugin (pluginRecompile , tcPlugin ), CommandLineOption , defaultPlugin , purePlugin )
16+ import GHC.Tc.Types.Evidence (EvExpr , EvTerm , evCast )
17+ import GHC.Tc.Plugin (newWanted )
18+ import GHC.Core.TyCo.Rep (UnivCoProvenance (PluginProv ))
19+ import GHC.Plugins (synTyConDefn_maybe )
20+ import GHC.Tc.Types (TcPluginResult (.. ), TcPluginM , ErrCtxt , pushErrCtxtSameOrigin , TcPlugin (.. ))
21+ #else
1122import Coercion (Role (Representational ), mkUnivCo )
1223import Constraint (CtEvidence (ctev_loc ), Ct , ctEvExpr , ctLoc , mkNonCanonical )
1324import GhcPlugins (PredType , SDoc , eqType , fsep , ppr )
@@ -17,6 +28,7 @@ import TcPluginM (newWanted)
1728import TcRnTypes
1829import TyCoRep (UnivCoProvenance (PluginProv ))
1930import TyCon (synTyConDefn_maybe )
31+ #endif
2032
2133import TypeLevel.Rewrite.Internal.ApplyRules
2234import TypeLevel.Rewrite.Internal.DecomposedConstraint
0 commit comments