Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/parser/src/edition.rs')
| -rw-r--r-- | crates/parser/src/edition.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/crates/parser/src/edition.rs b/crates/parser/src/edition.rs index 26178544f9..be0a2c794e 100644 --- a/crates/parser/src/edition.rs +++ b/crates/parser/src/edition.rs @@ -4,6 +4,7 @@ use std::fmt; #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(u8)] pub enum Edition { Edition2015, Edition2018, @@ -12,8 +13,23 @@ pub enum Edition { } impl Edition { - pub const CURRENT: Edition = Edition::Edition2021; pub const DEFAULT: Edition = Edition::Edition2015; + pub const LATEST: Edition = Edition::Edition2024; + pub const CURRENT: Edition = Edition::Edition2021; + /// The current latest stable edition, note this is usually not the right choice in code. + pub const CURRENT_FIXME: Edition = Edition::Edition2021; + + pub fn at_least_2024(self) -> bool { + self >= Edition::Edition2024 + } + + pub fn at_least_2021(self) -> bool { + self >= Edition::Edition2021 + } + + pub fn at_least_2018(self) -> bool { + self >= Edition::Edition2018 + } } #[derive(Debug)] |