Commit 05551d00 authored by Richard Eisenberg's avatar Richard Eisenberg
Browse files

Comments only [skip ci]

This fixes a typo and elaborates the Note [TyVarBndrs ...]
in TyCoRep, which was previously subtly wrong about
Required ForAllTys.
parent bcb519c5
......@@ -749,7 +749,7 @@ ctsPreds cts = [ ctEvPred ev | ct <- bagToList cts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Consider
f = e
where f's type is infeered to be something like (a, Proxy k (Int |> co))
where f's type is inferred to be something like (a, Proxy k (Int |> co))
and we have an as-yet-unsolved, or perhaps insoluble, constraint
[W] co :: Type ~ k
We can't form types like (forall co. blah), so we can't generalise over
......
......@@ -486,7 +486,8 @@ This table summarises the visibility rules:
| tvis :: ArgFlag
| tvis = Inferred: f :: forall {a}. type Arg not allowed: f
| tvis = Specified: f :: forall a. type Arg optional: f or f @Int
| tvis = Required: Illegal: See Note [No Required TyBinder in terms]
| tvis = Required: T :: forall k -> type Arg required: T *
| This last form is illegal in terms: See Note [No Required TyBinder in terms]
|
| TvBndr k cvis :: TyConBinder, in the TyConBinders of a TyCon
| cvis :: TyConBndrVis
......
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