MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / create_get_set_externref_tables_via_api

Function create_get_set_externref_tables_via_api

tests/all/externals.rs:307–333  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

305
306#[test]
307fn create_get_set_externref_tables_via_api() -> wasmtime::Result<()> {
308 let mut cfg = Config::new();
309 cfg.wasm_reference_types(true);
310 let engine = Engine::new(&cfg)?;
311 let mut store = Store::new(&engine, ());
312
313 let table_ty = TableType::new(RefType::EXTERNREF, 10, None);
314 let init = ExternRef::new(&mut store, 42_usize)?;
315 let table = Table::new(&mut store, table_ty, init.into())?;
316
317 assert_eq!(
318 *table
319 .get(&mut store, 5)
320 .unwrap()
321 .unwrap_extern()
322 .unwrap()
323 .data(&store)?
324 .expect("should have host data")
325 .downcast_ref::<usize>()
326 .unwrap(),
327 42
328 );
329 table.set(&mut store, 5, Ref::Extern(None))?;
330 assert!(table.get(&mut store, 5).unwrap().unwrap_extern().is_none());
331
332 Ok(())
333}
334
335#[test]
336fn fill_externref_tables_via_api() -> wasmtime::Result<()> {

Callers

nothing calls this directly

Calls 5

OkFunction · 0.85
newFunction · 0.50
ExternEnum · 0.50
wasm_reference_typesMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected