Cargo Features - The `wasm-bindgen` Guide

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Cargo Features in `web-sys`

To keep `web-sys` building as fast as possible, there is a cargo feature for every type defined in `web-sys`. To access that type, you must enable its feature. To access a method, you must enable the feature for its `self` type and the features for each of its argument types. In the API documentation, every method lists the features that are required to enable it.

For example, the `WebGlRenderingContext::compile_shader` function requires these features:

- `WebGlRenderingContext`, because that is the method's `self` type
- `WebGlShader`, because it takes an argument of that type