failure.invalid_covers_nothing
Catch-all covers no rule, because every rule that can break has an arm.
Area 4, Failures; not declinable; the next step is usually the agent's.
type Quantity = Int { min: 1 max: 1000}type QuantityTooLarge = Failure { kind: FailureKind.invalid_value}type QuantityRefused = Failure { kind: FailureKind.invalid_value}function doubled(quantity: Quantity) fails QuantityTooLarge, QuantityRefused -> Quantity { var result: Quantity = attempt Quantity(quantity * 2) { max: QuantityTooLarge invalid: QuantityRefused } return result}
error invalid: covers nothing here
--> main.jadpo:17:9
|17 | invalid: QuantityRefused | ^^^^^^^ no rule left to cover
- reason
- Every rule
Quantity(...)can break has its own arm (max), soinvalid:could never run. - next
- Remove
invalid: ...(agent) - rule
- failure.
invalid_ covers_ nothing - help
- https://jadpo.
dev/docs/errors/failure. invalid_ covers_ nothing
Markdown for agents: /docs/errors/failure.invalid_covers_nothing.md.Built from Jadpo main at aee2e8f.