Auto merge of #51196 - Havvy:remove-keywords, r=petrochenkov
Implement RFC 2421, 'Keyword unreservations (pure, sizeof, alignof, offsetof) On my local machine I was getting failures in `test/ui-fulldeps`, but I was also getting them again after reverting the change, so I'm hoping that this works. I removed the test because that's what the other PR that unreserved a keyword did and I feel that it doesn't make sense/keep value to keep a test for something removed years ago.
This commit is contained in:
commit
684b8d3d7b
@ -384,34 +384,30 @@ declare_keywords! {
|
||||
|
||||
// Keywords reserved for future use.
|
||||
(40, Abstract, "abstract")
|
||||
(41, Alignof, "alignof")
|
||||
(42, Become, "become")
|
||||
(43, Do, "do")
|
||||
(44, Final, "final")
|
||||
(45, Macro, "macro")
|
||||
(46, Offsetof, "offsetof")
|
||||
(47, Override, "override")
|
||||
(48, Priv, "priv")
|
||||
(49, Pure, "pure")
|
||||
(50, Sizeof, "sizeof")
|
||||
(51, Typeof, "typeof")
|
||||
(52, Unsized, "unsized")
|
||||
(53, Virtual, "virtual")
|
||||
(54, Yield, "yield")
|
||||
(41, Become, "become")
|
||||
(42, Do, "do")
|
||||
(43, Final, "final")
|
||||
(44, Macro, "macro")
|
||||
(45, Override, "override")
|
||||
(46, Priv, "priv")
|
||||
(47, Typeof, "typeof")
|
||||
(48, Unsized, "unsized")
|
||||
(49, Virtual, "virtual")
|
||||
(50, Yield, "yield")
|
||||
|
||||
// Edition-specific keywords reserved for future use.
|
||||
(55, Async, "async") // >= 2018 Edition Only
|
||||
(51, Async, "async") // >= 2018 Edition Only
|
||||
|
||||
// Special lifetime names
|
||||
(56, UnderscoreLifetime, "'_")
|
||||
(57, StaticLifetime, "'static")
|
||||
(52, UnderscoreLifetime, "'_")
|
||||
(53, StaticLifetime, "'static")
|
||||
|
||||
// Weak keywords, have special meaning only in specific contexts.
|
||||
(58, Auto, "auto")
|
||||
(59, Catch, "catch")
|
||||
(60, Default, "default")
|
||||
(61, Dyn, "dyn")
|
||||
(62, Union, "union")
|
||||
(54, Auto, "auto")
|
||||
(55, Catch, "catch")
|
||||
(56, Default, "default")
|
||||
(57, Dyn, "dyn")
|
||||
(58, Union, "union")
|
||||
}
|
||||
|
||||
impl Symbol {
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
@ -8,6 +8,15 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags: -Z parse-only
|
||||
// Test that removed keywords are allowed as identifiers.
|
||||
fn main () {
|
||||
let offsetof = ();
|
||||
let alignof = ();
|
||||
let sizeof = ();
|
||||
let pure = ();
|
||||
}
|
||||
|
||||
pure fn f() {} //~ ERROR expected item, found `pure`
|
||||
fn offsetof() {}
|
||||
fn alignof() {}
|
||||
fn sizeof() {}
|
||||
fn pure() {}
|
Loading…
x
Reference in New Issue
Block a user