fix #[hdl(sim)] match on enums

This commit is contained in:
Jacob Lifshay 2025-03-30 01:25:07 -07:00
parent a40eaaa2da
commit 9092e45447
Signed by: programmerjake
SSH key fingerprint: SHA256:HnFTLGpSm4Q4Fj502oCFisjZSoakwEuTsJJMSke63RQ
2 changed files with 47 additions and 5 deletions

View file

@ -497,6 +497,12 @@ fn test_enums() {
"vcd:\n{}\ncycle: {cycle}",
String::from_utf8(writer.take()).unwrap(),
);
// make sure matching on SimValue<SomeEnum> works
#[hdl(sim)]
match io.b_out {
HdlNone => println!("io.b_out is HdlNone"),
HdlSome(v) => println!("io.b_out is HdlSome(({:?}, {:?}))", *v.0, *v.1),
}
sim.write_clock(sim.io().cd.clk, false);
sim.advance_time(SimDuration::from_micros(1));
sim.write_clock(sim.io().cd.clk, true);