Cargo Features

[dependencies]
vermouth = { version = "0.2.1", default-features = false, features = ["attributes", "warnings", "complete", "proc-macro2", "unstable-diagnostics-backend", "rust-analyzer-hack"] }
default = attributes

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

attributes default complete?

NB: we use the document_features crate.

Stable Features

Provides support and utilities for parsing and handling Rust attributes.

Affects vermouth::attributes

warnings complete?

Enables emitting diagnostic warnings through the vermouth::Diagnostic API.

complete = attributes, warnings

Enables the complete suite of parsing utilities. This implies every other stable feature except proc-macro2.

proc-macro2

Rewires this crate to build on top of the proc-macro2 crate, instead of the default, officially supported proc_macro crate. This feature should be enabled with caution, and it is considered a major breaking change to do so. Due to the risks of compounding additive features across dependencies, it can be problematic to enable this feature in a library, since it may break other dependencies of this crate.

Enables proc-macro2

unstable-diagnostics-backend

Unstable Features <small><i>(nightly)</i></small>

Enables the proc_macro crate's experimental <a class="stab portability" href="https://github.com/rust-lang/rust/issues/54140">&lt;code>proc_macro_diagnostic&lt;/code>&lt;/a> feature for higher quality diagnostics.

rust-analyzer-hack

enable this in your r-a config
please, please, please do not enable this during compilation.