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.
- builtin_
attrs 🔒 - Built-in attributes and
cfg
flag gating. - removed 🔒
- List of the removed feature gates.
- unstable 🔒
- List of the unstable feature gates.
Structs§
- Attribute
Template - A template that the attribute input must match.
Only top-level shape (
#[attr]
vs#[attr(...)]
vs#[attr = ...]
) is considered now. - Builtin
Attribute - Enabled
Lang Feature - Information about an enabled language feature.
- Enabled
LibFeature - Information about an enabled library feature.
- Feature
- Features
- A set of features to be used by later passes.
Enums§
- Attribute
Duplicates - How to handle multiple duplicate attributes on the same item.
- Attribute
Gate - Attribute
Safety - Attribute
Type - Gate
Issue - Stability
- Unstable
Features
Constants§
- INCOMPATIBLE_
FEATURES - Some features are not allowed to be used together at the same time, if the two are present, produce an error.
Statics§
- ACCEPTED_
LANG_ FEATURES - Formerly unstable features that have now been accepted (stabilized).
- BUILTIN_
ATTRIBUTES - Attributes that have a special meaning to rustc or rustdoc.
- BUILTIN_
ATTRIBUTE_ MAP - REMOVED_
LANG_ FEATURES - Formerly unstable features that have now been removed.
- UNSTABLE_
LANG_ FEATURES - Unstable language features that are being implemented or being considered for acceptance (stabilization) or removal.
Functions§
- deprecated_
attributes - encode_
cross_ crate - Whether this builtin attribute is encoded cross crate. This means it can be used cross crate.
- find_
feature_ issue - find_
gated_ cfg - Find a gated cfg determined by the
pred
icate which is given the cfg’s name. - find_
lang_ 🔒feature_ issue - is_
builtin_ attr_ name - is_
stable_ diagnostic_ attribute - is_
valid_ for_ get_ attr - to_
nonzero 🔒