Skip to content
Snippets Groups Projects
Commit 61c5729c authored by Luite Stegeman's avatar Luite Stegeman
Browse files

ghc 7.8.2 compatibility

parent a18e0805
No related branches found
No related tags found
5 merge requests!38Make --no-tmp-comp-dir the default,!37Adapt to latest xhtml version, various optimizations,!31Support HsToken in DataDecl and ClassDecl,!12Drop orphan instance when defined upstream.,!10Haddock interfaces produced from `.hi` files
language: haskell
env:
- GHCVER=7.8.2
- GHCVER=7.8.3
before_install:
......
......@@ -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.*
......
{-# 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)
......
{-# 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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment