diff options
| -rw-r--r-- | .travis.yml | 1 | ||||
| -rw-r--r-- | haddock-api/haddock-api.cabal | 2 | ||||
| -rw-r--r-- | src/Haddock/Convert.hs | 11 | ||||
| -rw-r--r-- | src/Haddock/Interface/Create.hs | 10 | 
4 files changed, 21 insertions, 3 deletions
| diff --git a/.travis.yml b/.travis.yml index 98720920..1b2fb90a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@  language: haskell  env: + - GHCVER=7.8.2   - GHCVER=7.8.3  before_install: diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal index 71bf11f9..171412dc 100644 --- a/haddock-api/haddock-api.cabal +++ b/haddock-api/haddock-api.cabal @@ -45,7 +45,7 @@ library      , array      , xhtml >= 3000.2 && < 3000.3      , Cabal >= 1.10 -    , ghc == 7.8.3 +    , ghc >= 7.8.2 && < 7.8.4      , ghc-paths      , haddock-library == 1.1.0.* 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" | 
