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.