Module syntax::feature_gate[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Feature gating

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.

Structs

Context [
Experimental
]
FeatureChecker [
Experimental
]

A collector for mutually exclusive and interdependent features and their flag spans.

Features [
Experimental
]

A set of features to be used by later passes.

GatedCfg [
Experimental
]
PostExpansionVisitor [
Experimental
]

Enums

AttributeGate [
Experimental
]
AttributeType [
Experimental
]
GateIssue [
Experimental
]
GateStrength [
Experimental
]
Stability [
Experimental
]
UnstableFeatures [
Experimental
]

Constants

ACCEPTED_FEATURES [
Experimental
]

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

ACTIVE_FEATURES [
Experimental
]

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

BUILTIN_ATTRIBUTES [
Experimental
]
EXPLAIN_ALLOW_INTERNAL_UNSAFE [
Experimental
]
EXPLAIN_ALLOW_INTERNAL_UNSTABLE [
Experimental
]
EXPLAIN_ASM [
Experimental
]
EXPLAIN_BOX_SYNTAX [
Experimental
]
EXPLAIN_CONCAT_IDENTS [
Experimental
]
EXPLAIN_CUSTOM_DERIVE [
Experimental
]
EXPLAIN_DEPR_CUSTOM_DERIVE [
Experimental
]
EXPLAIN_DERIVE_UNDERSCORE [
Experimental
]
EXPLAIN_FORMAT_ARGS_NL [
Experimental
]
EXPLAIN_GLOBAL_ASM [
Experimental
]
EXPLAIN_LITERAL_MATCHER [
Experimental
]
EXPLAIN_LOG_SYNTAX [
Experimental
]
EXPLAIN_MACROS_IN_EXTERN [
Experimental
]
EXPLAIN_MACRO_AT_MOST_ONCE_REP [
Experimental
]
EXPLAIN_PROC_MACROS_IN_EXTERN [
Experimental
]
EXPLAIN_STMT_ATTR_SYNTAX [
Experimental
]
EXPLAIN_TRACE_MACROS [
Experimental
]
EXPLAIN_UNSIZED_TUPLE_COERCION [
Experimental
]
EXPLAIN_VIS_MATCHER [
Experimental
]
GATED_CFGS [
Experimental
]
REMOVED_FEATURES [
Experimental
]

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

STABLE_REMOVED_FEATURES [
Experimental
]

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

Functions

check_attribute [
Experimental
]
check_crate [
Experimental
]
contains_novel_literal [
Experimental
]
deprecated_attributes [
Experimental
]
emit_feature_err [
Experimental
]
feature_err [
Experimental
]
find_lang_feature_accepted_version [
Experimental
]
find_lang_feature_issue [
Experimental
]
get_features [
Experimental
]
is_builtin_attr [
Experimental
]
leveled_feature_err [
Experimental
]
maybe_stage_features [
Experimental
]