`funcref`s are implemented as `NonNull<VMCallerCheckedAnyfunc>`. This should be more efficient than using a `VMExternRef` that points at a `VMCallerCheckedAnyfunc` because it gets rid of an indirection, dynamic allocation, and some reference counting. Note that the null function reference is *NOT* a null pointer; it is a `VMCallerCheckedAnyfunc` that has a null `func_ptr` member. Part of #929
This is the wasmtime-wast crate, which contains an implementation of WebAssembly's
"wast" test scripting language, which is used in the
WebAssembly spec testsuite, using wasmtime for execution.