From cf94ecda8474c527b59dd9b01d5eda1d82accdd3 Mon Sep 17 00:00:00 2001 From: bQUARKz Date: Mon, 9 Feb 2026 23:35:34 +0000 Subject: [PATCH] pr 03 --- crates/prometeu-bytecode/src/abi.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/prometeu-bytecode/src/abi.rs b/crates/prometeu-bytecode/src/abi.rs index b34fecb6..2cc87242 100644 --- a/crates/prometeu-bytecode/src/abi.rs +++ b/crates/prometeu-bytecode/src/abi.rs @@ -130,4 +130,21 @@ Operand Sizes: assert_eq!(current_info.trim(), abi_info.trim()); } + + #[test] + fn operand_size_matches_spec_for_all_opcodes() { + // Scan a generous numeric range and validate every decodable opcode. + // This ensures that abi::operand_size (if kept) never diverges from the + // canonical spec (OpcodeSpec::imm_bytes). + for raw in 0u16..=1023u16 { + if let Ok(op) = OpCode::try_from(raw) { + assert_eq!( + operand_size(op), + op.spec().imm_bytes as usize, + "operand_size must match spec for {:?}", + op + ); + } + } + } }