|
10 | 10 | //! A tiny WebAssembly Runtime written in Rust |
11 | 11 | //! |
12 | 12 | //! TinyWasm provides a minimal WebAssembly runtime for executing WebAssembly modules. |
13 | | -//! It currently supports a subset of the WebAssembly MVP specification and is intended |
14 | | -//! to be useful for embedded systems and other environments where a full-featured |
15 | | -//! runtime is not required. |
| 13 | +//! It currently supports all features of the WebAssembly MVP specification and is |
| 14 | +//! designed to be easy to use and integrate in other projects. |
16 | 15 | //! |
17 | 16 | //! ## Features |
18 | | -//! - `std` (default): Enables the use of `std` and `std::io` for parsing from files and streams. |
19 | | -//! - `logging` (default): Enables logging via the `log` crate. |
20 | | -//! - `parser` (default): Enables the `tinywasm_parser` crate for parsing WebAssembly modules. |
| 17 | +//!- **`std`**\ |
| 18 | +//! Enables the use of `std` and `std::io` for parsing from files and streams. This is enabled by default. |
| 19 | +//!- **`logging`**\ |
| 20 | +//! Enables logging using the `log` crate. This is enabled by default. |
| 21 | +//!- **`parser`**\ |
| 22 | +//! Enables the `tinywasm-parser` crate. This is enabled by default. |
| 23 | +//!- **`archive`**\ |
| 24 | +//! Enables pre-parsing of archives. This is enabled by default. |
| 25 | +//!- **`unsafe`**\ |
| 26 | +//! Uses `unsafe` code to improve performance, particularly in Memory access |
21 | 27 | //! |
22 | | -//! ## No-std support |
23 | | -//! TinyWasm supports `no_std` environments by disabling the `std` feature and registering |
24 | | -//! a custom allocator. This removes support for parsing from files and streams, |
25 | | -//! but otherwise the API is the same. |
26 | | -//! Additionally, to have proper error types, you currently need a `nightly` compiler to have the error trait in core. |
| 28 | +//! With all these features disabled, TinyWasm only depends on `core`, `alloc` and `libm`. |
| 29 | +//! By disabling `std`, you can use TinyWasm in `no_std` environments. This requires |
| 30 | +//! a custom allocator and removes support for parsing from files and streams, but otherwise the API is the same. |
| 31 | +//! Additionally, to have proper error types in `no_std`, you currently need a `nightly` compiler to use the unstable error trait in `core`. |
27 | 32 | //! |
28 | 33 | //! ## Getting Started |
29 | 34 | //! The easiest way to get started is to use the [`Module::parse_bytes`] function to load a |
|
0 commit comments