refactor: 清理占位 opcode 表项与未实装兜底臂

This commit is contained in:
2026-09-26 08:29:55 +00:00
parent 83ff9bbca1
commit 811e9e928a
@@ -1,25 +0,0 @@
//! 未实装 profile 族 opcodes 的显式失败钉:run 遇 PROFILE_SHAPE 须返回
//! 显式错误而非静默按数据指令消费(手工 CompiledModule 直达,不经编译器)。
use std::sync::Arc;
use oxide_bytecode::module::CompiledModule;
use oxide_bytecode::opcode;
use oxide_vm::vm::Vm;
#[test]
fn unimplemented_profile_opcode_fails_explicitly() {
let module = CompiledModule {
bytecode: Arc::from(vec![
opcode::encode(opcode::OpCode::PROFILE_SHAPE, 0, 0, 0),
opcode::encode(opcode::OpCode::HALT, 0, 0, 0),
]),
n_registers: 1,
..CompiledModule::new()
};
let mut vm = Vm::new();
let err = vm
.run(&Arc::new(module))
.expect_err("unimplemented opcode should fail explicitly");
assert_eq!(err, "opcode PROFILE_SHAPE not yet implemented");
}