packages feed

ghc-lib 8.10.3.20201220 → 8.10.4.20210206

raw patch · 4 files changed

+37/−4 lines, 4 filesdep ~ghc-lib-parserPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ghc-lib-parser

API changes (from Hackage documentation)

Files

compiler/deSugar/DsForeign.hs view
@@ -682,7 +682,10 @@    -- See Note [Tracking foreign exports] in rts/ForeignExports.c    vcat     [ text "static struct ForeignExportsList" <+> list_symbol <+> equals-         <+> braces (text ".exports = " <+> export_list) <> semi+         <+> braces (+           text ".exports = " <+> export_list <> comma <+>+           text ".n_entries = " <+> ppr (length hs_fns))+         <> semi     , text "static void " <> ctor_symbol <> text "(void)"          <+> text " __attribute__((constructor));"     , text "static void " <> ctor_symbol <> text "()"
compiler/typecheck/TcTyClsDecls.hs view
@@ -2747,6 +2747,9 @@                                 -- GHC.Rename.Source                                 tcInferApps typeLevelMode lhs_fun fun_ty hs_pats +       -- Hack alert: see Note [tcFamTyPats: zonking the result kind]+       ; res_kind <- zonkTcType res_kind+        ; traceTc "End tcFamTyPats }" $          vcat [ ppr fam_tc, text "res_kind:" <+> ppr res_kind ] @@ -2755,6 +2758,33 @@     fam_name  = tyConName fam_tc     fam_arity = tyConArity fam_tc     lhs_fun   = noLoc (HsTyVar noExtField NotPromoted (noLoc fam_name))++{- Note [tcFamTyPats: zonking the result kind]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Consider (#19250)+    F :: forall k. k -> k+    type instance F (x :: Constraint) = ()++The tricky point is this:+  is that () an empty type tuple (() :: Type), or+  an empty constraint tuple (() :: Constraint)?+We work this out in a hacky way, by looking at the expected kind:+see Note [Inferring tuple kinds].++In this case, we kind-check the RHS using the kind gotten from the LHS:+see the call to tcCheckLHsType in tcTyFamInstEqnGuts in GHC.Tc.Tycl.++But we want the kind from the LHS to be /zonked/, so that when+kind-checking the RHS (tcCheckLHsType) we can "see" what we learned+from kind-checking the LHS (tcFamTyPats).  In our example above, the+type of the LHS is just `kappa` (by instantiating the forall k), but+then we learn (from x::Constraint) that kappa ~ Constraint.  We want+that info when kind-checking the RHS.++Easy solution: just zonk that return kind.  Of course this won't help+if there is lots of type-family reduction to do, but it works fine in+common cases.+-}  unravelFamInstPats :: TcType -> [TcType] -- Decompose fam_app to get the argument patterns
ghc-lib.cabal view
@@ -1,7 +1,7 @@ cabal-version: >=1.22 build-type: Simple name: ghc-lib-version: 8.10.3.20201220+version: 8.10.4.20210206 license: BSD3 license-file: LICENSE category: Development@@ -80,7 +80,7 @@         transformers == 0.5.*,         process >= 1 && < 1.7,         hpc == 0.6.*,-        ghc-lib-parser == 8.10.3.20201220+        ghc-lib-parser == 8.10.4.20210206     build-tools: alex >= 3.1, happy >= 1.19.4     other-extensions:         BangPatterns
ghc-lib/stage0/lib/ghcversion.h view
@@ -5,7 +5,7 @@ # define __GLASGOW_HASKELL__ 810 #endif -#define __GLASGOW_HASKELL_PATCHLEVEL1__ 3+#define __GLASGOW_HASKELL_PATCHLEVEL1__ 4  #define MIN_VERSION_GLASGOW_HASKELL(ma,mi,pl1,pl2) (\    ((ma)*100+(mi)) <  __GLASGOW_HASKELL__ || \