{-# LANGUAGE CPP, KindSignatures #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE UndecidableInstances #-} -- Note [Pass sensitive types] -- in module GHC.Hs.PlaceHolder {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE RoleAnnotations #-} {-# LANGUAGE TypeFamilies #-} module GHC.Hs.Pat where import Outputable import GHC.Hs.Extension ( OutputableBndrId, GhcPass ) type role Pat nominal data Pat (i :: *) type LPat i = Pat i instance (p ~ GhcPass pass, OutputableBndrId p) => Outputable (Pat p)