{-# LANGUAGE CPP #-}
module TypeLet.Plugin.GhcTcPluginAPI (
module GHC.TcPlugin.API
, module GHC.Utils.Outputable
, Subst
, Subst.substTy
, Subst.substTyWith
, Subst.zipTvSubst
, elemVarSet
, tyCoVarsOfType
) where
import GHC.TcPlugin.API
import GHC.Utils.Outputable
#if MIN_VERSION_ghc(9,0,0)
import GHC.Core.TyCo.FVs (tyCoVarsOfType)
import GHC.Types.Var.Set (elemVarSet)
import qualified GHC.Core.TyCo.Subst as Subst
#else
import VarSet (elemVarSet)
import TcType (tyCoVarsOfType)
import qualified TcType as Subst
#endif
#if MIN_VERSION_ghc(9,6,0)
import GHC.Core.TyCo.Subst (Subst)
#elif MIN_VERSION_ghc(9,0,0)
import GHC.Core.TyCo.Subst (TCvSubst)
#else
import TcType (TCvSubst)
#endif
#if !MIN_VERSION_ghc(9,6,0)
type Subst = TCvSubst
#endif