A user pointed out that it's confusing and annoying that we allow you to write a type declaration like:
type ('a, 'b : float64) t
But if you want to annotate the parameter on some use of t, you need more parens:
val foo : ('a, ('b : float64)) t -> int
This allows to skip the parens in the second example. There are three commits:
Commit one does some drive by cleanup of the relevant test file - we used to need more copies of this test when the parser cared about the layouts extension level more, but we can combine things nicely now.
Commit two adds some tests that don't parse, but could.
A user pointed out that it's confusing and annoying that we allow you to write a type declaration like:
But if you want to annotate the parameter on some use of
t
, you need more parens:This allows to skip the parens in the second example. There are three commits:
ocamlformat changes will be needed. I'll do it.
Request review from @ncik-roberts