Commit 111ff8cb authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files


parent e9491626
......@@ -988,8 +988,10 @@ tcTyClTyVars :: Name -> LHsTyVarBndrs Name -- LHS of the type or class decl
-- No need to freshen the k's because they are just skolem
-- constants here, and we are at top level anyway.
tcTyClTyVars tycon (HsQTvs { hsq_kvs = kvs, hsq_tvs = hs_tvs }) thing_inside
= kcScopedKindVars kvs $
tcTyClTyVars tycon (HsQTvs { hsq_kvs = hs_kvs, hsq_tvs = hs_tvs }) thing_inside
= kcScopedKindVars hs_kvs $ -- Bind scoped kind vars to fresh kind univ vars
-- There may be fewer of these than the kvs of
-- the type constructor, of course
do { thing <- tcLookup tycon
; let { kind = case thing of
AThing kind -> kind
......@@ -237,7 +237,7 @@ end up with non-inlined dictionaries that look like
$df = $cop |> blah
which adds an extra indirection to every use, which seems stupid. See
Trac #4138 for an example (although the regression reported there
wasn't due to the indirction).
wasn't due to the indirection).
There is an awkward wrinkle though: we want to be very
careful when we have
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment