param-not-in-restricted-set message omits the allowed set the ledger promises #48
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
design/models/0007-kernel-extensions.md:280-281states thediagnostic "
ParamNotInRestrictedSetnames the offending type andthe allowed set." The shipped message names the offending type, the
type-variable, and the home type, but not the allowed set
{Int, Float, Bool}. A downstream author is told what is wrong butnot what is right; self-correction would require reading the kernel
source, which a downstream consumer does not have.
Reproduction (verified)
→
error: [param-not-in-restricted-set] first_price: type-arg \Tick` is not in the restricted set for type-variable `a` of `raw_buf.RawBuf``The allowed set is absent. Fires identically for the shipped
Strfixture and for a user-defined
TickADT element.Resolution options
The former matches the ledger's stated contract.
Surfaced by the raw-buf fieldtest (finding B3), spec
docs/specs/0058-fieldtest-raw-buf.md. Commit8e9f0f0.