151 releases (79 breaking)

0.80.1 Aug 23, 2021
0.79.0 Jun 15, 2021
0.77.0 Mar 25, 2021
0.71.0 Dec 15, 2020
0.7.2 Jul 7, 2017

#37 in WebAssembly

Download history 34767/week @ 2021-06-01 36563/week @ 2021-06-08 39253/week @ 2021-06-15 42773/week @ 2021-06-22 33293/week @ 2021-06-29 37258/week @ 2021-07-06 39218/week @ 2021-07-13 39433/week @ 2021-07-20 49166/week @ 2021-07-27 50808/week @ 2021-08-03 53001/week @ 2021-08-10 70525/week @ 2021-08-17 53989/week @ 2021-08-24 44690/week @ 2021-08-31 43389/week @ 2021-09-07 50721/week @ 2021-09-14

184,608 downloads per month
Used in 249 crates (51 directly)

Apache-2.0 WITH LLVM-exception

425KB
10K SLoC

The WebAssembly binary file decoder in Rust

A Bytecode Alliance project

crates.io link docs.rs docs

The decoder library provides lightweight and fast decoding/parsing of WebAssembly binary files.

The other goal is minimal memory footprint. For this reason, there is no AST or IR of WebAssembly data.

See also its sibling at https://github.com/wasdk/wasmparser

Documentation

The documentation and examples can be found at the https://docs.rs/wasmparser/

Fuzzing

To fuzz test wasmparser.rs, switch to a nightly Rust compiler and install cargo-fuzz:

cargo install cargo-fuzz

Then, from the root of the repository, run:

cargo fuzz run parse

If you want to use files as seeds for the fuzzer, add them to fuzz/corpus/parse/ and restart cargo-fuzz.

No runtime deps