never executed always true always false
    1 {-# LANGUAGE TypeFamilies #-}
    2 {-# LANGUAGE StandaloneDeriving #-}
    3 {-# LANGUAGE DeriveDataTypeable #-}
    4 {-# LANGUAGE FlexibleContexts #-}
    5 {-# LANGUAGE FlexibleInstances #-}
    6 {-# LANGUAGE UndecidableInstances #-}
    7 {-# OPTIONS_GHC -fno-warn-orphans #-}
    8 
    9 -- This module contains exclusively Data instances, which are going to be slow
   10 -- no matter what we do. Furthermore, they are incredibly slow to compile with
   11 -- optimisation (see #9557). Consequently we compile this with -O0.
   12 -- See #18254.
   13 {-# OPTIONS_GHC -O0 #-}
   14 
   15 module GHC.Hs.Instances where
   16 
   17 -- This module defines the Data instances for the hsSyn AST.
   18 
   19 -- It happens here to avoid massive constraint types on the AST with concomitant
   20 -- slow GHC bootstrap times.
   21 
   22 -- UndecidableInstances ?
   23 
   24 import Data.Data hiding ( Fixity )
   25 
   26 import GHC.Prelude
   27 import GHC.Hs.Extension
   28 import GHC.Hs.Binds
   29 import GHC.Hs.Decls
   30 import GHC.Hs.Expr
   31 import GHC.Hs.Lit
   32 import GHC.Hs.Type
   33 import GHC.Hs.Pat
   34 import GHC.Hs.ImpExp
   35 import GHC.Parser.Annotation
   36 
   37 -- ---------------------------------------------------------------------
   38 -- Data derivations from GHC.Hs-----------------------------------------
   39 
   40 -- ---------------------------------------------------------------------
   41 -- Data derivations from GHC.Hs.Binds ----------------------------------
   42 
   43 -- deriving instance (DataIdLR pL pR) => Data (HsLocalBindsLR pL pR)
   44 deriving instance Data (HsLocalBindsLR GhcPs GhcPs)
   45 deriving instance Data (HsLocalBindsLR GhcPs GhcRn)
   46 deriving instance Data (HsLocalBindsLR GhcRn GhcRn)
   47 deriving instance Data (HsLocalBindsLR GhcTc GhcTc)
   48 
   49 -- deriving instance (DataIdLR pL pR) => Data (HsValBindsLR pL pR)
   50 deriving instance Data (HsValBindsLR GhcPs GhcPs)
   51 deriving instance Data (HsValBindsLR GhcPs GhcRn)
   52 deriving instance Data (HsValBindsLR GhcRn GhcRn)
   53 deriving instance Data (HsValBindsLR GhcTc GhcTc)
   54 
   55 -- deriving instance (DataIdLR pL pL) => Data (NHsValBindsLR pL)
   56 deriving instance Data (NHsValBindsLR GhcPs)
   57 deriving instance Data (NHsValBindsLR GhcRn)
   58 deriving instance Data (NHsValBindsLR GhcTc)
   59 
   60 -- deriving instance (DataIdLR pL pR) => Data (HsBindLR pL pR)
   61 deriving instance Data (HsBindLR GhcPs GhcPs)
   62 deriving instance Data (HsBindLR GhcPs GhcRn)
   63 deriving instance Data (HsBindLR GhcRn GhcRn)
   64 deriving instance Data (HsBindLR GhcTc GhcTc)
   65 
   66 -- deriving instance (DataId p)       => Data (ABExport p)
   67 deriving instance Data (ABExport GhcPs)
   68 deriving instance Data (ABExport GhcRn)
   69 deriving instance Data (ABExport GhcTc)
   70 
   71 -- deriving instance DataId p => Data (RecordPatSynField p)
   72 deriving instance Data (RecordPatSynField GhcPs)
   73 deriving instance Data (RecordPatSynField GhcRn)
   74 deriving instance Data (RecordPatSynField GhcTc)
   75 
   76 -- deriving instance (DataIdLR pL pR) => Data (PatSynBind pL pR)
   77 deriving instance Data (PatSynBind GhcPs GhcPs)
   78 deriving instance Data (PatSynBind GhcPs GhcRn)
   79 deriving instance Data (PatSynBind GhcRn GhcRn)
   80 deriving instance Data (PatSynBind GhcTc GhcTc)
   81 
   82 -- deriving instance (DataIdLR p p)   => Data (HsIPBinds p)
   83 deriving instance Data (HsIPBinds GhcPs)
   84 deriving instance Data (HsIPBinds GhcRn)
   85 deriving instance Data (HsIPBinds GhcTc)
   86 
   87 -- deriving instance (DataIdLR p p)   => Data (IPBind p)
   88 deriving instance Data (IPBind GhcPs)
   89 deriving instance Data (IPBind GhcRn)
   90 deriving instance Data (IPBind GhcTc)
   91 
   92 -- deriving instance (DataIdLR p p)   => Data (Sig p)
   93 deriving instance Data (Sig GhcPs)
   94 deriving instance Data (Sig GhcRn)
   95 deriving instance Data (Sig GhcTc)
   96 
   97 -- deriving instance (DataId p)       => Data (FixitySig p)
   98 deriving instance Data (FixitySig GhcPs)
   99 deriving instance Data (FixitySig GhcRn)
  100 deriving instance Data (FixitySig GhcTc)
  101 
  102 -- deriving instance (DataId p)       => Data (StandaloneKindSig p)
  103 deriving instance Data (StandaloneKindSig GhcPs)
  104 deriving instance Data (StandaloneKindSig GhcRn)
  105 deriving instance Data (StandaloneKindSig GhcTc)
  106 
  107 -- deriving instance (DataIdLR p p)   => Data (HsPatSynDir p)
  108 deriving instance Data (HsPatSynDir GhcPs)
  109 deriving instance Data (HsPatSynDir GhcRn)
  110 deriving instance Data (HsPatSynDir GhcTc)
  111 
  112 -- ---------------------------------------------------------------------
  113 -- Data derivations from GHC.Hs.Decls ----------------------------------
  114 
  115 -- deriving instance (DataIdLR p p) => Data (HsDecl p)
  116 deriving instance Data (HsDecl GhcPs)
  117 deriving instance Data (HsDecl GhcRn)
  118 deriving instance Data (HsDecl GhcTc)
  119 
  120 -- deriving instance (DataIdLR p p) => Data (HsGroup p)
  121 deriving instance Data (HsGroup GhcPs)
  122 deriving instance Data (HsGroup GhcRn)
  123 deriving instance Data (HsGroup GhcTc)
  124 
  125 -- deriving instance (DataIdLR p p) => Data (SpliceDecl p)
  126 deriving instance Data (SpliceDecl GhcPs)
  127 deriving instance Data (SpliceDecl GhcRn)
  128 deriving instance Data (SpliceDecl GhcTc)
  129 
  130 -- deriving instance (DataIdLR p p) => Data (TyClDecl p)
  131 deriving instance Data (TyClDecl GhcPs)
  132 deriving instance Data (TyClDecl GhcRn)
  133 deriving instance Data (TyClDecl GhcTc)
  134 
  135 -- deriving instance (DataIdLR p p) => Data (FunDep p)
  136 deriving instance Data (FunDep GhcPs)
  137 deriving instance Data (FunDep GhcRn)
  138 deriving instance Data (FunDep GhcTc)
  139 
  140 -- deriving instance (DataIdLR p p) => Data (TyClGroup p)
  141 deriving instance Data (TyClGroup GhcPs)
  142 deriving instance Data (TyClGroup GhcRn)
  143 deriving instance Data (TyClGroup GhcTc)
  144 
  145 -- deriving instance (DataIdLR p p) => Data (FamilyResultSig p)
  146 deriving instance Data (FamilyResultSig GhcPs)
  147 deriving instance Data (FamilyResultSig GhcRn)
  148 deriving instance Data (FamilyResultSig GhcTc)
  149 
  150 -- deriving instance (DataIdLR p p) => Data (FamilyDecl p)
  151 deriving instance Data (FamilyDecl GhcPs)
  152 deriving instance Data (FamilyDecl GhcRn)
  153 deriving instance Data (FamilyDecl GhcTc)
  154 
  155 -- deriving instance (DataIdLR p p) => Data (InjectivityAnn p)
  156 deriving instance Data (InjectivityAnn GhcPs)
  157 deriving instance Data (InjectivityAnn GhcRn)
  158 deriving instance Data (InjectivityAnn GhcTc)
  159 
  160 -- deriving instance (DataIdLR p p) => Data (FamilyInfo p)
  161 deriving instance Data (FamilyInfo GhcPs)
  162 deriving instance Data (FamilyInfo GhcRn)
  163 deriving instance Data (FamilyInfo GhcTc)
  164 
  165 -- deriving instance (DataIdLR p p) => Data (HsDataDefn p)
  166 deriving instance Data (HsDataDefn GhcPs)
  167 deriving instance Data (HsDataDefn GhcRn)
  168 deriving instance Data (HsDataDefn GhcTc)
  169 
  170 -- deriving instance (DataIdLR p p) => Data (HsDerivingClause p)
  171 deriving instance Data (HsDerivingClause GhcPs)
  172 deriving instance Data (HsDerivingClause GhcRn)
  173 deriving instance Data (HsDerivingClause GhcTc)
  174 
  175 -- deriving instance DataIdLR p p => Data (DerivClauseTys p)
  176 deriving instance Data (DerivClauseTys GhcPs)
  177 deriving instance Data (DerivClauseTys GhcRn)
  178 deriving instance Data (DerivClauseTys GhcTc)
  179 
  180 -- deriving instance (DataIdLR p p) => Data (ConDecl p)
  181 deriving instance Data (ConDecl GhcPs)
  182 deriving instance Data (ConDecl GhcRn)
  183 deriving instance Data (ConDecl GhcTc)
  184 
  185 -- deriving instance DataIdLR p p => Data (HsConDeclGADTDetails p)
  186 deriving instance Data (HsConDeclGADTDetails GhcPs)
  187 deriving instance Data (HsConDeclGADTDetails GhcRn)
  188 deriving instance Data (HsConDeclGADTDetails GhcTc)
  189 
  190 -- deriving instance DataIdLR p p   => Data (TyFamInstDecl p)
  191 deriving instance Data (TyFamInstDecl GhcPs)
  192 deriving instance Data (TyFamInstDecl GhcRn)
  193 deriving instance Data (TyFamInstDecl GhcTc)
  194 
  195 -- deriving instance DataIdLR p p   => Data (DataFamInstDecl p)
  196 deriving instance Data (DataFamInstDecl GhcPs)
  197 deriving instance Data (DataFamInstDecl GhcRn)
  198 deriving instance Data (DataFamInstDecl GhcTc)
  199 
  200 -- deriving instance (DataIdLR p p,Data rhs)=>Data (FamEqn p rhs)
  201 deriving instance Data rhs => Data (FamEqn GhcPs rhs)
  202 deriving instance Data rhs => Data (FamEqn GhcRn rhs)
  203 deriving instance Data rhs => Data (FamEqn GhcTc rhs)
  204 
  205 -- deriving instance (DataIdLR p p) => Data (ClsInstDecl p)
  206 deriving instance Data (ClsInstDecl GhcPs)
  207 deriving instance Data (ClsInstDecl GhcRn)
  208 deriving instance Data (ClsInstDecl GhcTc)
  209 
  210 -- deriving instance (DataIdLR p p) => Data (InstDecl p)
  211 deriving instance Data (InstDecl GhcPs)
  212 deriving instance Data (InstDecl GhcRn)
  213 deriving instance Data (InstDecl GhcTc)
  214 
  215 -- deriving instance (DataIdLR p p) => Data (DerivDecl p)
  216 deriving instance Data (DerivDecl GhcPs)
  217 deriving instance Data (DerivDecl GhcRn)
  218 deriving instance Data (DerivDecl GhcTc)
  219 
  220 -- deriving instance (DataIdLR p p) => Data (DerivStrategy p)
  221 deriving instance Data (DerivStrategy GhcPs)
  222 deriving instance Data (DerivStrategy GhcRn)
  223 deriving instance Data (DerivStrategy GhcTc)
  224 
  225 -- deriving instance (DataIdLR p p) => Data (DefaultDecl p)
  226 deriving instance Data (DefaultDecl GhcPs)
  227 deriving instance Data (DefaultDecl GhcRn)
  228 deriving instance Data (DefaultDecl GhcTc)
  229 
  230 -- deriving instance (DataIdLR p p) => Data (ForeignDecl p)
  231 deriving instance Data (ForeignDecl GhcPs)
  232 deriving instance Data (ForeignDecl GhcRn)
  233 deriving instance Data (ForeignDecl GhcTc)
  234 
  235 -- deriving instance (DataIdLR p p) => Data (RuleDecls p)
  236 deriving instance Data (RuleDecls GhcPs)
  237 deriving instance Data (RuleDecls GhcRn)
  238 deriving instance Data (RuleDecls GhcTc)
  239 
  240 -- deriving instance (DataIdLR p p) => Data (RuleDecl p)
  241 deriving instance Data (RuleDecl GhcPs)
  242 deriving instance Data (RuleDecl GhcRn)
  243 deriving instance Data (RuleDecl GhcTc)
  244 
  245 -- deriving instance (DataIdLR p p) => Data (RuleBndr p)
  246 deriving instance Data (RuleBndr GhcPs)
  247 deriving instance Data (RuleBndr GhcRn)
  248 deriving instance Data (RuleBndr GhcTc)
  249 
  250 -- deriving instance (DataId p)     => Data (WarnDecls p)
  251 deriving instance Data (WarnDecls GhcPs)
  252 deriving instance Data (WarnDecls GhcRn)
  253 deriving instance Data (WarnDecls GhcTc)
  254 
  255 -- deriving instance (DataId p)     => Data (WarnDecl p)
  256 deriving instance Data (WarnDecl GhcPs)
  257 deriving instance Data (WarnDecl GhcRn)
  258 deriving instance Data (WarnDecl GhcTc)
  259 
  260 -- deriving instance (DataIdLR p p) => Data (AnnDecl p)
  261 deriving instance Data (AnnProvenance GhcPs)
  262 deriving instance Data (AnnProvenance GhcRn)
  263 deriving instance Data (AnnProvenance GhcTc)
  264 
  265 deriving instance Data (AnnDecl GhcPs)
  266 deriving instance Data (AnnDecl GhcRn)
  267 deriving instance Data (AnnDecl GhcTc)
  268 
  269 -- deriving instance (DataId p)     => Data (RoleAnnotDecl p)
  270 deriving instance Data (RoleAnnotDecl GhcPs)
  271 deriving instance Data (RoleAnnotDecl GhcRn)
  272 deriving instance Data (RoleAnnotDecl GhcTc)
  273 
  274 -- ---------------------------------------------------------------------
  275 -- Data derivations from GHC.Hs.Expr -----------------------------------
  276 
  277 deriving instance Data (FieldLabelStrings GhcPs)
  278 deriving instance Data (FieldLabelStrings GhcRn)
  279 deriving instance Data (FieldLabelStrings GhcTc)
  280 
  281 deriving instance Data (DotFieldOcc GhcPs)
  282 deriving instance Data (DotFieldOcc GhcRn)
  283 deriving instance Data (DotFieldOcc GhcTc)
  284 
  285 -- deriving instance (DataIdLR p p) => Data (HsPragE p)
  286 deriving instance Data (HsPragE GhcPs)
  287 deriving instance Data (HsPragE GhcRn)
  288 deriving instance Data (HsPragE GhcTc)
  289 
  290 -- deriving instance (DataIdLR p p) => Data (HsExpr p)
  291 deriving instance Data (HsExpr GhcPs)
  292 deriving instance Data (HsExpr GhcRn)
  293 deriving instance Data (HsExpr GhcTc)
  294 
  295 -- deriving instance (DataIdLR p p) => Data (HsTupArg p)
  296 deriving instance Data (HsTupArg GhcPs)
  297 deriving instance Data (HsTupArg GhcRn)
  298 deriving instance Data (HsTupArg GhcTc)
  299 
  300 -- deriving instance (DataIdLR p p) => Data (HsCmd p)
  301 deriving instance Data (HsCmd GhcPs)
  302 deriving instance Data (HsCmd GhcRn)
  303 deriving instance Data (HsCmd GhcTc)
  304 
  305 -- deriving instance (DataIdLR p p) => Data (HsCmdTop p)
  306 deriving instance Data (HsCmdTop GhcPs)
  307 deriving instance Data (HsCmdTop GhcRn)
  308 deriving instance Data (HsCmdTop GhcTc)
  309 
  310 -- deriving instance (DataIdLR p p,Data body) => Data (MatchGroup p body)
  311 deriving instance Data (MatchGroup GhcPs (LocatedA (HsExpr GhcPs)))
  312 deriving instance Data (MatchGroup GhcRn (LocatedA (HsExpr GhcRn)))
  313 deriving instance Data (MatchGroup GhcTc (LocatedA (HsExpr GhcTc)))
  314 deriving instance Data (MatchGroup GhcPs (LocatedA (HsCmd GhcPs)))
  315 deriving instance Data (MatchGroup GhcRn (LocatedA (HsCmd GhcRn)))
  316 deriving instance Data (MatchGroup GhcTc (LocatedA (HsCmd GhcTc)))
  317 
  318 -- deriving instance (DataIdLR p p,Data body) => Data (Match      p body)
  319 deriving instance Data (Match      GhcPs (LocatedA (HsExpr GhcPs)))
  320 deriving instance Data (Match      GhcRn (LocatedA (HsExpr GhcRn)))
  321 deriving instance Data (Match      GhcTc (LocatedA (HsExpr GhcTc)))
  322 deriving instance Data (Match      GhcPs (LocatedA (HsCmd GhcPs)))
  323 deriving instance Data (Match      GhcRn (LocatedA (HsCmd GhcRn)))
  324 deriving instance Data (Match      GhcTc (LocatedA (HsCmd GhcTc)))
  325 
  326 -- deriving instance (DataIdLR p p,Data body) => Data (GRHSs      p body)
  327 deriving instance Data (GRHSs     GhcPs (LocatedA (HsExpr GhcPs)))
  328 deriving instance Data (GRHSs     GhcRn (LocatedA (HsExpr GhcRn)))
  329 deriving instance Data (GRHSs     GhcTc (LocatedA (HsExpr GhcTc)))
  330 deriving instance Data (GRHSs     GhcPs (LocatedA (HsCmd GhcPs)))
  331 deriving instance Data (GRHSs     GhcRn (LocatedA (HsCmd GhcRn)))
  332 deriving instance Data (GRHSs     GhcTc (LocatedA (HsCmd GhcTc)))
  333 
  334 -- deriving instance (DataIdLR p p,Data body) => Data (GRHS       p body)
  335 deriving instance Data (GRHS     GhcPs (LocatedA (HsExpr GhcPs)))
  336 deriving instance Data (GRHS     GhcRn (LocatedA (HsExpr GhcRn)))
  337 deriving instance Data (GRHS     GhcTc (LocatedA (HsExpr GhcTc)))
  338 deriving instance Data (GRHS     GhcPs (LocatedA (HsCmd GhcPs)))
  339 deriving instance Data (GRHS     GhcRn (LocatedA (HsCmd GhcRn)))
  340 deriving instance Data (GRHS     GhcTc (LocatedA (HsCmd GhcTc)))
  341 
  342 -- deriving instance (DataIdLR p p,Data body) => Data (StmtLR   p p body)
  343 deriving instance Data (StmtLR   GhcPs GhcPs (LocatedA (HsExpr GhcPs)))
  344 deriving instance Data (StmtLR   GhcPs GhcRn (LocatedA (HsExpr GhcRn)))
  345 deriving instance Data (StmtLR   GhcRn GhcRn (LocatedA (HsExpr GhcRn)))
  346 deriving instance Data (StmtLR   GhcTc GhcTc (LocatedA (HsExpr GhcTc)))
  347 deriving instance Data (StmtLR   GhcPs GhcPs (LocatedA (HsCmd GhcPs)))
  348 deriving instance Data (StmtLR   GhcPs GhcRn (LocatedA (HsCmd GhcRn)))
  349 deriving instance Data (StmtLR   GhcRn GhcRn (LocatedA (HsCmd GhcRn)))
  350 deriving instance Data (StmtLR   GhcTc GhcTc (LocatedA (HsCmd GhcTc)))
  351 
  352 deriving instance Data RecStmtTc
  353 
  354 -- deriving instance (DataIdLR p p) => Data (ParStmtBlock p p)
  355 deriving instance Data (ParStmtBlock GhcPs GhcPs)
  356 deriving instance Data (ParStmtBlock GhcPs GhcRn)
  357 deriving instance Data (ParStmtBlock GhcRn GhcRn)
  358 deriving instance Data (ParStmtBlock GhcTc GhcTc)
  359 
  360 -- deriving instance (DataIdLR p p) => Data (ApplicativeArg p)
  361 deriving instance Data (ApplicativeArg GhcPs)
  362 deriving instance Data (ApplicativeArg GhcRn)
  363 deriving instance Data (ApplicativeArg GhcTc)
  364 
  365 deriving instance Data (HsStmtContext GhcPs)
  366 deriving instance Data (HsStmtContext GhcRn)
  367 deriving instance Data (HsStmtContext GhcTc)
  368 
  369 deriving instance Data HsArrowMatchContext
  370 
  371 deriving instance Data HsDoFlavour
  372 
  373 deriving instance Data (HsMatchContext GhcPs)
  374 deriving instance Data (HsMatchContext GhcRn)
  375 deriving instance Data (HsMatchContext GhcTc)
  376 
  377 -- deriving instance (DataIdLR p p) => Data (HsSplice p)
  378 deriving instance Data (HsSplice GhcPs)
  379 deriving instance Data (HsSplice GhcRn)
  380 deriving instance Data (HsSplice GhcTc)
  381 
  382 -- deriving instance (DataIdLR p p) => Data (HsSplicedThing p)
  383 deriving instance Data (HsSplicedThing GhcPs)
  384 deriving instance Data (HsSplicedThing GhcRn)
  385 deriving instance Data (HsSplicedThing GhcTc)
  386 
  387 -- deriving instance (DataIdLR p p) => Data (HsBracket p)
  388 deriving instance Data (HsBracket GhcPs)
  389 deriving instance Data (HsBracket GhcRn)
  390 deriving instance Data (HsBracket GhcTc)
  391 
  392 -- deriving instance (DataIdLR p p) => Data (ArithSeqInfo p)
  393 deriving instance Data (ArithSeqInfo GhcPs)
  394 deriving instance Data (ArithSeqInfo GhcRn)
  395 deriving instance Data (ArithSeqInfo GhcTc)
  396 
  397 deriving instance Data RecordUpdTc
  398 deriving instance Data CmdTopTc
  399 deriving instance Data PendingRnSplice
  400 deriving instance Data PendingTcSplice
  401 deriving instance Data SyntaxExprRn
  402 deriving instance Data SyntaxExprTc
  403 
  404 deriving instance Data XBindStmtRn
  405 deriving instance Data XBindStmtTc
  406 
  407 -- ---------------------------------------------------------------------
  408 -- Data derivations from GHC.Hs.Lit ------------------------------------
  409 
  410 -- deriving instance (DataId p) => Data (HsLit p)
  411 deriving instance Data (HsLit GhcPs)
  412 deriving instance Data (HsLit GhcRn)
  413 deriving instance Data (HsLit GhcTc)
  414 
  415 -- deriving instance (DataIdLR p p) => Data (HsOverLit p)
  416 deriving instance Data (HsOverLit GhcPs)
  417 deriving instance Data (HsOverLit GhcRn)
  418 deriving instance Data (HsOverLit GhcTc)
  419 
  420 deriving instance Data OverLitRn
  421 deriving instance Data OverLitTc
  422 
  423 -- ---------------------------------------------------------------------
  424 -- Data derivations from GHC.Hs.Pat ------------------------------------
  425 
  426 -- deriving instance (DataIdLR p p) => Data (Pat p)
  427 deriving instance Data (Pat GhcPs)
  428 deriving instance Data (Pat GhcRn)
  429 deriving instance Data (Pat GhcTc)
  430 
  431 deriving instance Data ConPatTc
  432 
  433 deriving instance (Data a, Data b) => Data (HsFieldBind a b)
  434 
  435 deriving instance (Data body) => Data (HsRecFields GhcPs body)
  436 deriving instance (Data body) => Data (HsRecFields GhcRn body)
  437 deriving instance (Data body) => Data (HsRecFields GhcTc body)
  438 
  439 -- ---------------------------------------------------------------------
  440 -- Data derivations from GHC.Hs.Type ----------------------------------
  441 
  442 -- deriving instance (DataIdLR p p) => Data (LHsQTyVars p)
  443 deriving instance Data (LHsQTyVars GhcPs)
  444 deriving instance Data (LHsQTyVars GhcRn)
  445 deriving instance Data (LHsQTyVars GhcTc)
  446 
  447 -- deriving instance (Data flag, DataIdLR p p) => Data (HsOuterTyVarBndrs p)
  448 deriving instance Data flag => Data (HsOuterTyVarBndrs flag GhcPs)
  449 deriving instance Data flag => Data (HsOuterTyVarBndrs flag GhcRn)
  450 deriving instance Data flag => Data (HsOuterTyVarBndrs flag GhcTc)
  451 
  452 -- deriving instance (DataIdLR p p) => Data (HsSigType p)
  453 deriving instance Data (HsSigType GhcPs)
  454 deriving instance Data (HsSigType GhcRn)
  455 deriving instance Data (HsSigType GhcTc)
  456 
  457 -- deriving instance (DataIdLR p p, Data thing) =>Data (HsWildCardBndrs p thing)
  458 deriving instance (Data thing) => Data (HsWildCardBndrs GhcPs thing)
  459 deriving instance (Data thing) => Data (HsWildCardBndrs GhcRn thing)
  460 deriving instance (Data thing) => Data (HsWildCardBndrs GhcTc thing)
  461 
  462 -- deriving instance (DataIdLR p p) => Data (HsPatSigType p)
  463 deriving instance Data (HsPatSigType GhcPs)
  464 deriving instance Data (HsPatSigType GhcRn)
  465 deriving instance Data (HsPatSigType GhcTc)
  466 
  467 -- deriving instance (DataIdLR p p) => Data (HsForAllTelescope p)
  468 deriving instance Data (HsForAllTelescope GhcPs)
  469 deriving instance Data (HsForAllTelescope GhcRn)
  470 deriving instance Data (HsForAllTelescope GhcTc)
  471 
  472 -- deriving instance (DataIdLR p p) => Data (HsTyVarBndr p)
  473 deriving instance (Data flag) => Data (HsTyVarBndr flag GhcPs)
  474 deriving instance (Data flag) => Data (HsTyVarBndr flag GhcRn)
  475 deriving instance (Data flag) => Data (HsTyVarBndr flag GhcTc)
  476 
  477 -- deriving instance (DataIdLR p p) => Data (HsType p)
  478 deriving instance Data (HsType GhcPs)
  479 deriving instance Data (HsType GhcRn)
  480 deriving instance Data (HsType GhcTc)
  481 
  482 -- deriving instance Data (HsLinearArrowTokens p)
  483 deriving instance Data (HsLinearArrowTokens GhcPs)
  484 deriving instance Data (HsLinearArrowTokens GhcRn)
  485 deriving instance Data (HsLinearArrowTokens GhcTc)
  486 
  487 -- deriving instance (DataIdLR p p) => Data (HsArrow p)
  488 deriving instance Data (HsArrow GhcPs)
  489 deriving instance Data (HsArrow GhcRn)
  490 deriving instance Data (HsArrow GhcTc)
  491 
  492 -- deriving instance (DataIdLR p p) => Data (HsScaled p a)
  493 deriving instance Data thing => Data (HsScaled GhcPs thing)
  494 deriving instance Data thing => Data (HsScaled GhcRn thing)
  495 deriving instance Data thing => Data (HsScaled GhcTc thing)
  496 
  497 deriving instance (Data a, Data b) => Data (HsArg a b)
  498 -- deriving instance Data (HsArg (Located (HsType GhcPs)) (Located (HsKind GhcPs)))
  499 -- deriving instance Data (HsArg (Located (HsType GhcRn)) (Located (HsKind GhcRn)))
  500 -- deriving instance Data (HsArg (Located (HsType GhcTc)) (Located (HsKind GhcTc)))
  501 
  502 -- deriving instance (DataIdLR p p) => Data (ConDeclField p)
  503 deriving instance Data (ConDeclField GhcPs)
  504 deriving instance Data (ConDeclField GhcRn)
  505 deriving instance Data (ConDeclField GhcTc)
  506 
  507 -- deriving instance (DataId p)     => Data (FieldOcc p)
  508 deriving instance Data (FieldOcc GhcPs)
  509 deriving instance Data (FieldOcc GhcRn)
  510 deriving instance Data (FieldOcc GhcTc)
  511 
  512 -- deriving instance DataId p       => Data (AmbiguousFieldOcc p)
  513 deriving instance Data (AmbiguousFieldOcc GhcPs)
  514 deriving instance Data (AmbiguousFieldOcc GhcRn)
  515 deriving instance Data (AmbiguousFieldOcc GhcTc)
  516 
  517 
  518 -- deriving instance (DataId name) => Data (ImportDecl name)
  519 deriving instance Data (ImportDecl GhcPs)
  520 deriving instance Data (ImportDecl GhcRn)
  521 deriving instance Data (ImportDecl GhcTc)
  522 
  523 -- deriving instance (DataId name)             => Data (IE name)
  524 deriving instance Data (IE GhcPs)
  525 deriving instance Data (IE GhcRn)
  526 deriving instance Data (IE GhcTc)
  527 
  528 -- deriving instance (Eq name, Eq (IdP name)) => Eq (IE name)
  529 deriving instance Eq (IE GhcPs)
  530 deriving instance Eq (IE GhcRn)
  531 deriving instance Eq (IE GhcTc)
  532 
  533 -- ---------------------------------------------------------------------
  534 
  535 deriving instance Data XXExprGhcTc
  536 deriving instance Data XXPatGhcTc
  537 
  538 -- ---------------------------------------------------------------------
  539 
  540 deriving instance Data XViaStrategyPs
  541 
  542 -- ---------------------------------------------------------------------