[ANN] More strict checks in missed labels

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
13 Likes

FYI this is warning number 6

Warning numbers are documented on the website as well :smiley::

Ah thanks, I forgot that that page exists.
Would be cool to be able to link to specific warnings, though.

Great! This is actually something I’ve been bitten by. Agree very much.