Crate rustc_feature
source ·Expand description
§Feature gates
This crate declares the set of past and present unstable features in the compiler.
Feature gate checking itself is done in rustc_ast_passes/src/feature_gate.rs
at the moment.
Features are enabled in programs via the crate-level attributes of
#![feature(...)]
with a comma-separated list of features.
For the purpose of future feature-tracking, once a feature gate is added,
even if it is stabilized or removed, do not remove it. Instead, move the
symbol to the accepted
or removed
modules respectively.
Modules§
- accepted 🔒List of the accepted feature gates.
- Built-in attributes and
cfg
flag gating. - removed 🔒List of the removed feature gates.
- unstable 🔒List of the unstable feature gates.
Structs§
- A template that the attribute input must match. Only top-level shape (
#[attr]
vs#[attr(...)]
vs#[attr = ...]
) is considered now. - A set of features to be used by later passes.
Enums§
- How to handle multiple duplicate attributes on the same item.
Constants§
- Formerly unstable features that have now been accepted (stabilized).
- Attributes that have a special meaning to rustc or rustdoc.
- Some features are not allowed to be used together at the same time, if the two are present, produce an error.
- Formerly unstable features that have now been removed.
- Unstable language features that are being implemented or being considered for acceptance (stabilization) or removal.
Statics§
Functions§
- Whether this builtin attribute is encoded cross crate. This means it can be used cross crate.
- Find a gated cfg determined by the
pred
icate which is given the cfg’s name.