Laurel User Guide

6.7. Not yet supported🔗

Two shapes are rejected during resolution with a not yet supported diagnostic rather than lowered, because the alternatives would be an internal error or a silent miscompile:

  • a call to a procedure that throws in a nested expression position. Only a whole statement or a whole assignment right-hand side is handled, so s := f() is fine while s := 1 + f() is rejected;

  • a catch handler that re-declares its own exception binding, because the substitution that rewrites the binding matches by name and is not scope-aware.