Closed jurgenvinju closed 4 years ago
Good find. The expressions _ ? : _
, _?
, _?_
and :=
did not check for void. Reason: almost all operators (except these) are handled by standard functions (unaryOP
, binaryOp
, ...) that already check this.
In theory, all alternatives for the Expression
rule have these checks, but in practice there were clearly some cases missing.
This is now fixed.
Describe the bug
This does not trigger a TC error yet.
This more complex example was how a ran into this:
a little experiment shows that also the "elvis" default expression does not check for this:
also the pattern match operator:
there may be more. perhaps we should check all expression forms for this: