diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2019-02-28 08:37:26 -0800 |
---|---|---|
committer | Alec Theriault <alec.theriault@gmail.com> | 2019-03-09 08:29:23 -0800 |
commit | a31b562f3f3a33ae2b08f9173ea08506b357f3a5 (patch) | |
tree | 291a1e8805d110ad2a63f57c665726f2ee8ed782 /haddock-api | |
parent | e7586f005aa89a45b0fc4f3564f0f17ab9f79d38 (diff) |
Match changes for "Stop inferring over-polymorphic kinds"
The `hsq_ext` field of `HsQTvs` is now just the implicit variables
(instead of also including information about which of these variables
are dependent).
This commit shouldn't change any functionality in Haddock.
Diffstat (limited to 'haddock-api')
-rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 7 | ||||
-rw-r--r-- | haddock-api/src/Haddock/Utils.hs | 4 |
2 files changed, 3 insertions, 8 deletions
diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index fa904e4b..4af0f79d 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -187,9 +187,7 @@ synifyTyCon prr _coax tc | isFunTyCon tc || isPrimTyCon tc = return $ DataDecl { tcdLName = synifyName tc - , tcdTyVars = HsQTvs { hsq_ext = - HsQTvsRn { hsq_implicit = [] -- No kind polymorphism - , hsq_dependent = emptyNameSet } + , tcdTyVars = HsQTvs { hsq_ext = [] -- No kind polymorphism , hsq_explicit = zipWith mk_hs_tv tyVarKinds alphaTyVars --a, b, c... which are unfortunately all kind * @@ -436,8 +434,7 @@ synifyCtx = noLoc . map (synifyType WithinType []) synifyTyVars :: [TyVar] -> LHsQTyVars GhcRn -synifyTyVars ktvs = HsQTvs { hsq_ext = HsQTvsRn { hsq_implicit = [] - , hsq_dependent = emptyNameSet } +synifyTyVars ktvs = HsQTvs { hsq_ext = [] , hsq_explicit = map synifyTyVar ktvs } synifyTyVar :: TyVar -> LHsTyVarBndr GhcRn diff --git a/haddock-api/src/Haddock/Utils.hs b/haddock-api/src/Haddock/Utils.hs index 6be82ffd..493e2662 100644 --- a/haddock-api/src/Haddock/Utils.hs +++ b/haddock-api/src/Haddock/Utils.hs @@ -217,9 +217,7 @@ emptyHsQTvs :: LHsQTyVars GhcRn -- This function is here, rather than in HsTypes, because it *renamed*, but -- does not necessarily have all the rigt kind variables. It is used -- in Haddock just for printing, so it doesn't matter -emptyHsQTvs = HsQTvs { hsq_ext = HsQTvsRn - { hsq_implicit = error "haddock:emptyHsQTvs" - , hsq_dependent = error "haddock:emptyHsQTvs" } +emptyHsQTvs = HsQTvs { hsq_ext = error "haddock:emptyHsQTvs" , hsq_explicit = [] } |