diff --git a/src/librustc_parse/parser/expr.rs b/src/librustc_parse/parser/expr.rs index 81442143f531..43c740f7f93f 100644 --- a/src/librustc_parse/parser/expr.rs +++ b/src/librustc_parse/parser/expr.rs @@ -592,7 +592,7 @@ impl<'a> Parser<'a> { } } - /// Parse `& mut? ` or `& raw [ const | mut ] ` + /// Parse `& mut? ` or `& raw [ const | mut ] `. fn parse_address_of(&mut self, lo: Span) -> PResult<'a, (Span, ExprKind)> { self.expect_and()?; let (k, m) = if self.check_keyword(kw::Raw) diff --git a/src/libsyntax/feature_gate/active.rs b/src/libsyntax/feature_gate/active.rs index fa0ab90c702b..b04b30aa6bc1 100644 --- a/src/libsyntax/feature_gate/active.rs +++ b/src/libsyntax/feature_gate/active.rs @@ -520,13 +520,16 @@ declare_features! ( /// Allows using the `efiapi` ABI. (active, abi_efiapi, "1.40.0", Some(65815), None), + /// Allows `&raw const $place_expr` and `&raw mut $place_expr` expressions. + (active, raw_ref_op, "1.41.0", Some(64490), None), + /// Allows diverging expressions to fall back to `!` rather than `()`. (active, never_type_fallback, "1.41.0", Some(65992), None), /// Allows using the `#[register_attr]` attribute. (active, register_attr, "1.41.0", Some(66080), None), - /// Allows using the `#[register_attr]` attribute. + /// Allows using the `#[register_tool]` attribute. (active, register_tool, "1.41.0", Some(66079), None), /// Allows the use of `if` and `match` in constants. diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs index f966850254f9..846508bd0cd1 100644 --- a/src/libsyntax/feature_gate/check.rs +++ b/src/libsyntax/feature_gate/check.rs @@ -866,6 +866,7 @@ pub fn check_crate(krate: &ast::Crate, gate_all!(generators, "yield syntax is experimental"); gate_all!(or_patterns, "or-patterns syntax is experimental"); gate_all!(const_extern_fn, "`const extern fn` definitions are unstable"); + gate_all!(raw_ref_op, "raw address of syntax is experimental"); // All uses of `gate_all!` below this point were added in #65742, // and subsequently disabled (with the non-early gating readded). diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs index d20d520ac557..6d59ff3f6f89 100644 --- a/src/libsyntax_pos/symbol.rs +++ b/src/libsyntax_pos/symbol.rs @@ -98,6 +98,7 @@ symbols! { Auto: "auto", Catch: "catch", Default: "default", + Raw: "raw", Union: "union", } @@ -546,6 +547,7 @@ symbols! { RangeToInclusive, raw_dylib, raw_identifiers, + raw_ref_op, Ready, reason, recursion_limit,