124 releases
| new 0.2.122 | May 22, 2026 |
|---|---|
| 0.2.120 | Apr 28, 2026 |
| 0.2.117 | Mar 31, 2026 |
| 0.2.106 | Nov 28, 2025 |
| 0.1.1 | Mar 6, 2018 |
#2484 in Procedural macros
31,775,174 downloads per month
Used in 82,044 crates
(2 directly)
240KB
5K
SLoC
wasm-bindgen-macro
Implementation of the #[wasm_bindgen] attribute. See the wasm-bindgen
documentation for more information about what this macro does.
Testing
Testing of this macro is done through "ui tests" in the ui-tests subdirectory
of this crate. Each Rust file in this folder is compiled with the wasm_bindgen
crate, and the *.stderr file sitting next to it is the asserted output of the
compiler. If the output matches, the test passes, and if the output doesn't
match the test fails. Note that it is also considered a failure if a test
actually compiles successfully.
To add a test:
-
Create
ui-tests/my-awesome-test.rs -
Write an invalid
#[wasm_bindgen]invocation, testing the error you're generating -
Execute
cargo test -p wasm-bindgen-macro --test ui, the test will fail -
From within the
ui-testsfolder, execute./update-all-references.sh. This should create amy-awesome-test.stderrfile.OR if you are on Windows, set the
TRYBUILD=overwriteenvironment variable (this is done as$env:TRYBUILD="overwrite"in powershell) and run the command again. -
Inspect
my-awesome-test.stderrto make sure it looks ok -
Rerun
cargo test -p wasm-bindgen-macro --test uiand your tests should pass!
Dependencies
~270–720KB
~14K SLoC