What will there Rust reserved keywords do: abstract, do, final, virtual, override
I found this page which lists all reserved keywords for Rust: https://doc.rust-lang.org/reference/keywords.html
I did research and compiled a list of speculations / rfcs that use these keywords:
priv: everything in Rust is already private by default except trait items, enum variants, and fields in enum variants. Perhaps at some point these can be made opt-in privatebecome: tail call optimization for recursive functions (https://github.com/rust-lang/rfcs/pull/3407)abstract: ???box: box patterns (https://github.com/rust-lang/rust/issues/29641)do: ???final: ???macro: declarative macros 2.0 (https://github.com/rust-lang/rust/issues/39412)override: ???typeof: get the type of an expression so you can dolet x: typeof("a") = "hello"unsized: syntax sugar for!Sizedvirtual: ???yieldandgen(weak): generator functions and blocks (https://github.com/rust-lang/rust/issues/117078)try: local blocks which the?operator can return from without returning from the function (https://github.com/rust-lang/rust/issues/31436)
Rust was intended to be more of an OOP language in the early days so they reserved keywords like abstract, override, virtual and final. But they could have freed them at any point in the last decade but chose not to. This means it could still be used for something but for what..?
unsized only makes sense as sugar for !Sized but is this really necessary? Rust tries hard not to special case the standard library and just adding syntax for a built-in item seems like isn't necessary. I didn't find an RFC for it though so it could be used for more than that
do is used for the do yeet in https://github.com/rust-lang/rust/issues/96373 but the syntax will change when its stabilized so I don't count it