diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-01-05 19:30:24 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2021-01-13 18:39:25 -0500 |
commit | e1230ede3d1c77a6916e318aefcd47829e56035c (patch) | |
tree | 36b89a8d6fae359a5c5de4887c020a6101bd5cf8 /haddock-api/src/Haddock/Interface/Specialize.hs | |
parent | 9a7e3d6fa3faad2ccb75f7f3e9d9f4bc203a77ca (diff) | |
parent | 99f61534a470b84c424fde0835215de6a3b6d721 (diff) |
Merge remote-tracking branch 'origin/ghc-9.0' into ghc-head
Diffstat (limited to 'haddock-api/src/Haddock/Interface/Specialize.hs')
-rw-r--r-- | haddock-api/src/Haddock/Interface/Specialize.hs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/haddock-api/src/Haddock/Interface/Specialize.hs b/haddock-api/src/Haddock/Interface/Specialize.hs index 85055bf4..c6d61d05 100644 --- a/haddock-api/src/Haddock/Interface/Specialize.hs +++ b/haddock-api/src/Haddock/Interface/Specialize.hs @@ -11,6 +11,7 @@ module Haddock.Interface.Specialize ) where +import Haddock.GhcUtils ( hsTyVarBndrName ) import Haddock.Syb import Haddock.Types @@ -58,13 +59,9 @@ specialize specs = go spec_map0 -- Again, it is just a convenience function around 'specialize'. Note that -- length of type list should be the same as the number of binders. specializeTyVarBndrs :: Data a => LHsQTyVars GhcRn -> [HsType GhcRn] -> a -> a -specializeTyVarBndrs bndrs typs = - specialize $ zip bndrs' typs +specializeTyVarBndrs bndrs typs = specialize $ zip bndrs' typs where - bndrs' = map (bname . unLoc) . hsq_explicit $ bndrs - bname (UserTyVar _ _ (L _ name)) = name - bname (KindedTyVar _ _ (L _ name) _) = name - bname (XTyVarBndr _) = error "haddock:specializeTyVarBndrs" + bndrs' = map (hsTyVarBndrName . unLoc) . hsq_explicit $ bndrs |