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/ 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.


  • 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.




  • 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.



Type Aliases§