Hi all,
This is a small breaking changes in the 10.0 release.
Previously
let f = (x, ~z) => x + z
f (1,2) // no label here
You will get a warning that label z was missed (the current default setting is warn-error).
Since version 10, this will be a hard error, there is no work around. To fix it and make your code future proof, add the missed labels:
f(1,~z=2)
The rationale for this change is that
- This is dangerous and surprising behavior
- It complicated the type checker without too much benefit
- Fix is easy and both backwards and forwards compatible