This module implements the gating necessary for preventing certain compiler features from being used by default. This module will crawl a pre-expanded AST to ensure that there are no features which are used that are not enabled.
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 code for detection of feature gate usage is added, do not remove it again even once the feature becomes stable.
A template that the attribute input must match.
Only top-level shape (
A set of features to be used by later passes.
Those language feature has since been Accepted (it was once Active)
Represents active features that are currently being implemented or currently being considered for addition/removal.
Attributes that have a special meaning to rustc or rustdoc
Represents unstable features which have since been removed (it was once Active)
Represents stable features which have since been removed (it was once Accepted)