aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Interface
diff options
context:
space:
mode:
authorRichard Eisenberg <eir@cis.upenn.edu>2013-08-02 15:54:55 +0100
committerRichard Eisenberg <eir@cis.upenn.edu>2013-08-02 15:54:55 +0100
commit34d2aa54b95e8d261dc325393893d06f6a085130 (patch)
tree16de18e58251b11d725716aaeb340aa00baf242c /src/Haddock/Interface
parent9f356e8b53b3770293c8fd4e91fe1a2b40e42dee (diff)
Changes to reflect changes in GHC's type HsTyVarBndr
Diffstat (limited to 'src/Haddock/Interface')
-rw-r--r--src/Haddock/Interface/Rename.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Haddock/Interface/Rename.hs b/src/Haddock/Interface/Rename.hs
index f21088d8..a6f48520 100644
--- a/src/Haddock/Interface/Rename.hs
+++ b/src/Haddock/Interface/Rename.hs
@@ -263,6 +263,8 @@ renameType t = case t of
k' <- renameLKind k
return (HsKindSig ty' k')
+ HsRoleAnnot _ _ -> error "renameType: HsRoleAnnot"
+
HsDocTy ty doc -> do
ty' <- renameLType ty
doc' <- renameLDocHsSyn doc
@@ -288,13 +290,10 @@ renameLTyVarBndrs (HsQTvs { hsq_kvs = _, hsq_tvs = tvs })
-- This is rather bogus, but I'm not sure what else to do
renameLTyVarBndr :: LHsTyVarBndr Name -> RnM (LHsTyVarBndr DocName)
-renameLTyVarBndr (L loc (UserTyVar n))
- = do { n' <- rename n
- ; return (L loc (UserTyVar n')) }
-renameLTyVarBndr (L loc (KindedTyVar n k))
+renameLTyVarBndr (L loc (HsTyVarBndr n mkind mrole))
= do { n' <- rename n
- ; k' <- renameLKind k
- ; return (L loc (KindedTyVar n' k')) }
+ ; mkind' <- mapM renameLKind mkind
+ ; return (L loc (HsTyVarBndr n' mkind' mrole)) }
renameLContext :: Located [LHsType Name] -> RnM (Located [LHsType DocName])
renameLContext (L loc context) = do