// Allows use of the :lifetime macro fragment specifier
(active, macro_lifetime_matcher, "1.24.0", Some(46895)),
+
+ // `extern` in paths
+ (active, extern_in_paths, "1.23.0", Some(44660)),
);
declare_features! (
never be stable",
cfg_fn!(rustc_attrs))),
+ // whitelists "identity-like" conversion methods to suggest on type mismatch
+ ("rustc_conversion_suggestion", Whitelisted, Gated(Stability::Unstable,
+ "rustc_attrs",
+ "this is an internal attribute that will \
+ never be stable",
+ cfg_fn!(rustc_attrs))),
+
("wasm_import_memory", Whitelisted, Gated(Stability::Unstable,
"wasm_import_memory",
"wasm_import_memory attribute is currently unstable",
if segment.identifier.name == keywords::Crate.name() {
gate_feature_post!(&self, crate_in_paths, segment.span,
"`crate` in paths is experimental");
+ } else if segment.identifier.name == keywords::Extern.name() {
+ gate_feature_post!(&self, extern_in_paths, segment.span,
+ "`extern` in paths is experimental");
}
}