Cargo Features

[dependencies]
gc_nes_web = { version = "0.1.5", default-features = false, features = ["console_error_panic_hook", "wee_alloc"] }
default = console_error_panic_hook

The console_error_panic_hook feature is set by default whenever gc_nes_web is added without default-features = false somewhere in the dependency tree.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality [may be removed in the future](https://rust-lang.github.io/rfcs/3491-remove-implicit-features.html).

console_error_panic_hook default

Enables console_error_panic_hook

The console_error_panic_hook crate provides better debugging of panics by logging them with console.error. This is great for development, but requires all the std::fmt and std::panicking infrastructure, so isn't great for code size when deploying.

wee_alloc implicit feature

Enables wee_alloc

wee_alloc is a tiny allocator for wasm that is only ~1K in code size compared to the default allocator's ~10K. It is slower than the default allocator, however.

Unfortunately, wee_alloc requires nightly Rust when targeting wasm for now.