diff options
author | Luite Stegeman <stegeman@gmail.com> | 2014-08-22 20:11:16 +0200 |
---|---|---|
committer | Luite Stegeman <stegeman@gmail.com> | 2014-08-22 20:46:51 +0200 |
commit | 61c5729cb91ea66aa55bf0941717e526e7fde68d (patch) | |
tree | 6fc29330cc3f0da6ec5b7bb23ecb2c3e21434e29 /src/Haddock | |
parent | a18e080534a2778f37cb8ff9d501959fe6cc7acd (diff) |
ghc 7.8.2 compatibility
Diffstat (limited to 'src/Haddock')
-rw-r--r-- | src/Haddock/Convert.hs | 11 | ||||
-rw-r--r-- | src/Haddock/Interface/Create.hs | 10 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/Haddock/Convert.hs b/src/Haddock/Convert.hs index 405bf204..73ff3f1a 100644 --- a/src/Haddock/Convert.hs +++ b/src/Haddock/Convert.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE PatternGuards #-} +{-# LANGUAGE CPP, PatternGuards #-} ----------------------------------------------------------------------------- -- | -- Module : Haddock.Convert @@ -94,10 +94,19 @@ tyThingToLHsDecl t = noLoc $ case t of (synifyType ImplicitizeForAll (dataConUserType dc))) AConLike (PatSynCon ps) -> +#if MIN_VERSION_ghc(7,8,3) let (_, _, req_theta, prov_theta, _, res_ty) = patSynSig ps +#else + let (_, _, (req_theta, prov_theta)) = patSynSig ps +#endif in SigD $ PatSynSig (synifyName ps) +#if MIN_VERSION_ghc(7,8,3) (fmap (synifyType WithinType) (patSynTyDetails ps)) (synifyType WithinType res_ty) +#else + (fmap (synifyType WithinType) (patSynTyDetails ps)) + (synifyType WithinType (patSynType ps)) +#endif (synifyCtx req_theta) (synifyCtx prov_theta) diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs index cf7ed841..b66773ae 100644 --- a/src/Haddock/Interface/Create.hs +++ b/src/Haddock/Interface/Create.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE TupleSections, BangPatterns, LambdaCase #-} +{-# LANGUAGE CPP, TupleSections, BangPatterns, LambdaCase #-} {-# OPTIONS_GHC -Wwarn #-} ----------------------------------------------------------------------------- -- | @@ -366,7 +366,11 @@ classDecls class_ = filterDecls . collectDocs . sortByLoc $ decls where decls = docs ++ defs ++ sigs ++ ats docs = mkDecls tcdDocs DocD class_ +#if MIN_VERSION_ghc(7,8,3) defs = mkDecls (bagToList . tcdMeths) ValD class_ +#else + defs = mkDecls (map snd . bagToList . tcdMeths) ValD class_ +#endif sigs = mkDecls tcdSigs SigD class_ ats = mkDecls tcdATs (TyClD . FamDecl) class_ @@ -392,7 +396,11 @@ ungroup group_ = mkDecls hs_docs DocD group_ ++ mkDecls hs_instds InstD group_ ++ mkDecls (typesigs . hs_valds) SigD group_ ++ +#if MIN_VERSION_ghc(7,8,3) mkDecls (valbinds . hs_valds) ValD group_ +#else + mkDecls (map snd . valbinds . hs_valds) ValD group_ +#endif where typesigs (ValBindsOut _ sigs) = filter isVanillaLSig sigs typesigs _ = error "expected ValBindsOut" |