Crate rustc_ap_rustc_feature[][src]

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.

Structs

AttributeTemplate

A template that the attribute input must match. Only top-level shape (#[attr] vs #[attr(...)] vs #[attr = ...]) is considered now.

Feature
Features

A set of features to be used by later passes.

Enums

AttributeGate
AttributeType
GateIssue
Stability
State
UnstableFeatures

Constants

ACCEPTED_FEATURES

Those language feature has since been Accepted (it was once Active)

ACTIVE_FEATURES

Represents active features that are currently being implemented or currently being considered for addition/removal.

BUILTIN_ATTRIBUTES

Attributes that have a special meaning to rustc or rustdoc.

INCOMPATIBLE_FEATURES

Some features are not allowed to be used together at the same time, if the two are present, produce an error.

INCOMPLETE_FEATURES

Some features are known to be incomplete and using them is likely to have unanticipated results, such as compiler crashes. We warn the user about these to alert them.

REMOVED_FEATURES

Represents unstable features which have since been removed (it was once Active)

STABLE_REMOVED_FEATURES

Represents stable features which have since been removed (it was once Accepted)

Statics

BUILTIN_ATTRIBUTE_MAP

Functions

deprecated_attributes
find_feature_issue
find_gated_cfg

Find a gated cfg determined by the predicate which is given the cfg’s name.

is_builtin_attr_name

Type Definitions

BuiltinAttribute
GatedCfg