144 releases (75 breaking)

new 0.76.0 Mar 1, 2021
0.74.0 Feb 4, 2021
0.71.0 Dec 15, 2020
0.68.0 Nov 17, 2020
0.7.2 Jul 7, 2017

#69 in WebAssembly

Download history 29165/week @ 2020-11-14 26982/week @ 2020-11-21 32248/week @ 2020-11-28 27989/week @ 2020-12-05 30167/week @ 2020-12-12 17035/week @ 2020-12-19 12895/week @ 2020-12-26 27387/week @ 2021-01-02 29503/week @ 2021-01-09 28541/week @ 2021-01-16 31471/week @ 2021-01-23 32646/week @ 2021-01-30 29506/week @ 2021-02-06 28309/week @ 2021-02-13 35337/week @ 2021-02-20 33076/week @ 2021-02-27

119,397 downloads per month
Used in 183 crates (45 directly)

Apache-2.0 WITH LLVM-exception

420KB
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