1 use wasmtime::*; 2 3 #[test] eqref_from_i31() -> Result<()>4fn 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