wasmer_c_api/
lib.rs

1//! Wasmer C API.
2//!
3//! [Wasmer](https://github.com/wasmerio/wasmer) is the leading
4//! WebAssembly runtime. Wasmer is written in Rust; this crate
5//! exposes its C and C++ bindings.
6//!
7//! This crate provides an API that follows the [official WebAssembly
8//! C API](https://github.com/WebAssembly/wasm-c-api). This standard
9//! can be characterized as a _living standard_. The API is not yet
10//! stable, even though it shows maturity over time. It is described
11//! by the `wasm.h` C header file. However, this crate API provides
12//! some extensions, like the `wasi_*` or `wasmer_*` types and
13//! functions, which aren't yet defined by the standard. The
14//! `wasmer.h` header file already depends on the `wasm.h`
15//! file. A copy lands in this repository for the sake of simplicity.
16
17#![doc(html_favicon_url = "https://wasmer.io/images/icons/favicon-32x32.png")]
18#![doc(html_logo_url = "https://github.com/wasmerio.png?size=200")]
19#![deny(
20    dead_code,
21    unused_imports,
22    unused_variables,
23    unused_unsafe,
24    unreachable_patterns
25)]
26// Because this crate exposes a lot of C APIs which are unsafe by definition,
27// we allow unsafe without explicit safety documentation for each of them.
28//
29// For the same reason, we also turn off the warning for camel_case types.
30#![allow(clippy::missing_safety_doc)]
31#![allow(non_camel_case_types)]
32#![cfg_attr(docsrs, feature(doc_cfg))]
33
34pub mod error;
35pub mod tracing;
36pub mod wasm_c_api;