149 releases (78 breaking)

new 0.79.0 Jun 15, 2021
0.78.0 Apr 28, 2021
0.77.0 Mar 25, 2021
0.71.0 Dec 15, 2020
0.7.2 Jul 7, 2017

#382 in WebAssembly

Download history 35746/week @ 2021-02-24 35751/week @ 2021-03-03 37237/week @ 2021-03-10 35854/week @ 2021-03-17 34401/week @ 2021-03-24 28485/week @ 2021-03-31 32604/week @ 2021-04-07 30518/week @ 2021-04-14 31928/week @ 2021-04-21 30766/week @ 2021-04-28 32605/week @ 2021-05-05 35426/week @ 2021-05-12 32694/week @ 2021-05-19 35313/week @ 2021-05-26 34492/week @ 2021-06-02 30841/week @ 2021-06-09

141,731 downloads per month
Used in 234 crates (47 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