UnsupportedUsageError
- class UnsupportedUsageError
Description
Raised for a usage whose value this module cannot yet evaluate without risk of a wrong verdict.
This is reserved for shapes where producing any verdict would risk being wrong, as opposed to
Verdict.UNDECIDABLE, which is returned when a constraint is merely one the compiler cannot evaluate. The current case is a usage that both constructs a value (new Def(...)) and overrides it with declarative bindings in its body (new Def(5) { :>> val = -1; }): the constructed-object scope reflects the constructor arguments and the usage’s own scope reflects the overrides, but no single scope reflects the merged effective value, so the module refuses to guess.