Skip to content

Commit 42c1911

Browse files
committed
Reserve abstract, final, and override as possible keywords.
1 parent 8c20e95 commit 42c1911

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

0000-keywords.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
- Start Date: (fill me in with today's date, YYYY-MM-DD)
2+
- RFC PR: (leave this empty)
3+
- Rust Issue: (leave this empty)
4+
5+
# Summary
6+
7+
Reserve `abstract`, `final`, and `override` as possible keywords.
8+
9+
# Motivation
10+
11+
We intend to add some mechanism to Rust to support more efficient inheritance
12+
(see, e.g., RFC PRs #245 and #250, and this
13+
[thread](http://discuss.rust-lang.org/t/summary-of-efficient-inheritance-rfcs/494/43)
14+
on discuss). Although we have not decided how to do this, we do know that we
15+
will. Any implementation is likely to make use of keywords `virtual` (already
16+
used, to remain reserved), `abstract`, `final`, and `override`, so it makes
17+
sense to reserve these now to make the eventual implementation as backwards
18+
compatible as possible.
19+
20+
# Detailed design
21+
22+
Make `abstract`, `final`, and `override` reserved keywords.
23+
24+
# Drawbacks
25+
26+
Takes a few more words out of the possible vocabulary of Rust programmers.
27+
28+
# Alternatives
29+
30+
Don't do this and deal with it when we have an implementation. This would mean
31+
bumping the language version, probably.
32+
33+
# Unresolved questions
34+
35+
N/A

0 commit comments

Comments
 (0)