Add feature gate
This commit is contained in:
parent
5eb29c7f49
commit
83b4df4e61
8 changed files with 29 additions and 4 deletions
|
|
@ -603,6 +603,7 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session) {
|
|||
gate_all!(yeet_expr, "`do yeet` expression is experimental");
|
||||
gate_all!(dyn_star, "`dyn*` trait objects are experimental");
|
||||
gate_all!(const_closures, "const closures are experimental");
|
||||
gate_all!(builtin_syntax, "`builtin #` syntax is unstable");
|
||||
|
||||
if !visitor.features.negative_bounds {
|
||||
for &span in spans.get(&sym::negative_bounds).iter().copied().flatten() {
|
||||
|
|
|
|||
|
|
@ -313,6 +313,8 @@ declare_features! (
|
|||
(active, async_closure, "1.37.0", Some(62290), None),
|
||||
/// Allows async functions to be declared, implemented, and used in traits.
|
||||
(active, async_fn_in_trait, "1.66.0", Some(91611), None),
|
||||
/// Allows builtin # foo() syntax
|
||||
(active, builtin_syntax, "CURRENT_RUSTC_VERSION", Some(110680), None),
|
||||
/// Allows `c"foo"` literals.
|
||||
(active, c_str_literals, "CURRENT_RUSTC_VERSION", Some(105723), None),
|
||||
/// Treat `extern "C"` function as nounwind.
|
||||
|
|
|
|||
|
|
@ -1782,6 +1782,7 @@ impl<'a> Parser<'a> {
|
|||
.into_diagnostic(&self.sess.span_diagnostic);
|
||||
return Err(err);
|
||||
};
|
||||
self.sess.gated_spans.gate(sym::builtin_syntax, ident.span);
|
||||
self.bump();
|
||||
|
||||
self.expect(&TokenKind::OpenDelim(Delimiter::Parenthesis))?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue