Keep quota refusal test independent of Debug success types

This commit is contained in:
2026-09-24 19:26:36 -07:00
parent a629ae01d4
commit 29417130c7
2 changed files with 11 additions and 3 deletions
@@ -229,7 +229,7 @@ fn nested_inventory_and_prepaid_projection_quota() {
(29, "Source8 projection quota underflow."),
(31, "Source8 projection quota leftover."),
] {
let error = language::edit_positions_from_tokens_with_producers(
let error = match language::edit_positions_from_tokens_with_producers(
file.source,
&file.ordinary,
|at| lexeme(file.tokens[at]),
@@ -237,8 +237,10 @@ fn nested_inventory_and_prepaid_projection_quota() {
None,
Some(quota),
|_, _| Ok(()),
)
.unwrap_err();
) {
Err(error) => error,
Ok(_) => panic!("injected projection quota must refuse"),
};
assert_eq!(error.message, message);
}
assert_eq!(syntax.budget.producer_entries(), Some(89));
@@ -48,3 +48,9 @@ other work stacks, numeric/decoder internals and model/validator heap remain
outside this retained metric. The extra shared projector wrapper and scalar
Budget/State fields require measured parent stack checks; no heap indirection or
larger stack is introduced. Final output acceptance remains a separate task.
Initial a629ae01 focused compilation failed before any test ran: the quota
control's unwrap_err required Debug on its successful EditDeclaration vector.
The test now matches Err explicitly and panics on unexpected Ok, preserving
the same assertion without changing production types. Original compiler output
and source-bound receipt remain with parent gate evidence.