From a31b562f3f3a33ae2b08f9173ea08506b357f3a5 Mon Sep 17 00:00:00 2001
From: Alec Theriault <alec.theriault@gmail.com>
Date: Thu, 28 Feb 2019 08:37:26 -0800
Subject: [PATCH] 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.
---
 haddock-api/src/Haddock/Convert.hs | 7 ++-----
 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 fa904e4b53..4af0f79dc0 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 6be82ffdb6..493e26625d 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 = [] }
 
 
-- 
GitLab