- Feature Name:
unreserve_proc
- Start Date: 2018-04-26
- RFC PR: rust-lang/rfcs#2420
- Rust Issue: N/A. Already implemented.
Summary
The keyword proc
gets unreserved.
Motivation
We are currently not using proc
as a keyword for anything in the language.
Currently, proc
is a reserved keyword for future use. However, we have
no intention of using the keyword for anything in the future, and as such,
we want to unreserve it so that rustaceans can use it as identifiers.
In the specific case of proc
, it is a useful identifier for many things.
In particular, it is useful when dealing with processes, OS internals and
kernel development.
Guide-level explanation
See the reference-level-explanation.
Reference-level explanation
The keyword proc
is removed from the list of reserved keywords and is no
longer reserved. This is done immediately and on edition 2015.
Drawbacks
The only drawback is that we’re not able to use proc
as a keyword in the
future, without a reservation in a new edition, if we realize that we made
a mistake.
The keyword proc
could be used for some Arrow
notation as used in
Haskell. However, proc
notation is rarely used in Haskell since Arrow
s are
not generally understood; and if something is not well understood by one of the
most academically inclined of communities of users, it is doubly a bad fit for
Rust which has a community mixed with users used to FP, systemsy and dynamically
checked programming languages. Moreover, Arrow
s would most likely require HKTs
which we might not get.
Rationale and alternatives
There’s only one alternative: Not doing anything.
Previously, this used to be the keyword used for move |..| { .. }
closures,
but proc
is no longer used for anything.
Not unreserving this keyword would make the word unavailable for use as an identifier.
Prior art
Not applicable.
Unresolved questions
There are none.