Implement RFC 11: Redesigning Wasmtime's APIs (#2897)

Implement Wasmtime's new API as designed by RFC 11. This is quite a large commit which has had lots of discussion externally, so for more information it's best to read the RFC thread and the PR thread.
This commit is contained in:
Alex Crichton
2021-06-03 09:10:53 -05:00
committed by GitHub
parent a5a28b1c5b
commit 7a1b7cdf92
233 changed files with 13349 additions and 11997 deletions

22
tests/all/store.rs Normal file
View File

@@ -0,0 +1,22 @@
use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};
use wasmtime::{Engine, Store};
#[test]
fn into_inner() {
static HITS: AtomicUsize = AtomicUsize::new(0);
struct A;
impl Drop for A {
fn drop(&mut self) {
HITS.fetch_add(1, SeqCst);
}
}
let engine = Engine::default();
assert_eq!(HITS.load(SeqCst), 0);
drop(Store::new(&engine, A));
assert_eq!(HITS.load(SeqCst), 1);
Store::new(&engine, A).into_data();
assert_eq!(HITS.load(SeqCst), 2);
}