diff options
author | Richard Eisenberg <eir@cis.upenn.edu> | 2013-08-02 15:54:55 +0100 |
---|---|---|
committer | Richard Eisenberg <eir@cis.upenn.edu> | 2013-08-02 15:54:55 +0100 |
commit | 34d2aa54b95e8d261dc325393893d06f6a085130 (patch) | |
tree | 16de18e58251b11d725716aaeb340aa00baf242c /src/Haddock/Interface/Rename.hs | |
parent | 9f356e8b53b3770293c8fd4e91fe1a2b40e42dee (diff) |
Changes to reflect changes in GHC's type HsTyVarBndr
Diffstat (limited to 'src/Haddock/Interface/Rename.hs')
-rw-r--r-- | src/Haddock/Interface/Rename.hs | 11 |
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 |