Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/tests/all/eqref.rs
2450 views
1
use wasmtime::*;
2
3
#[test]
4
fn eqref_from_i31() -> Result<()> {
5
let mut config = Config::new();
6
config.wasm_function_references(true);
7
config.wasm_gc(true);
8
9
let engine = Engine::new(&config)?;
10
let mut store = Store::new(&engine, ());
11
12
let i31 = I31::wrapping_u32(31);
13
14
// without EqRef::from_i31
15
let any_ref = AnyRef::from_i31(&mut store, i31);
16
let eq_ref1 = any_ref.unwrap_eqref(&mut store)?;
17
18
// with EqRef::from_i31
19
let eq_ref2 = EqRef::from_i31(&mut store, i31);
20
21
// reference to same i31
22
assert_eq!(Rooted::ref_eq(&store, &eq_ref1, &eq_ref2)?, true);
23
24
Ok(())
25
}
26
27