Add minimal support for the 2024 edition

This commit is contained in:
Laurențiu Nicola 2023-12-18 16:13:41 +02:00
parent 21b06c1beb
commit fec0e04fc2
4 changed files with 9 additions and 0 deletions

View file

@ -398,6 +398,7 @@ pub enum Edition {
Edition2015, Edition2015,
Edition2018, Edition2018,
Edition2021, Edition2021,
Edition2024,
} }
impl Edition { impl Edition {
@ -784,6 +785,7 @@ impl FromStr for Edition {
"2015" => Edition::Edition2015, "2015" => Edition::Edition2015,
"2018" => Edition::Edition2018, "2018" => Edition::Edition2018,
"2021" => Edition::Edition2021, "2021" => Edition::Edition2021,
"2024" => Edition::Edition2024,
_ => return Err(ParseEditionError { invalid_input: s.to_string() }), _ => return Err(ParseEditionError { invalid_input: s.to_string() }),
}; };
Ok(res) Ok(res)
@ -796,6 +798,7 @@ impl fmt::Display for Edition {
Edition::Edition2015 => "2015", Edition::Edition2015 => "2015",
Edition::Edition2018 => "2018", Edition::Edition2018 => "2018",
Edition::Edition2021 => "2021", Edition::Edition2021 => "2021",
Edition::Edition2024 => "2024",
}) })
} }
} }

View file

@ -545,6 +545,8 @@ impl DefCollector<'_> {
Edition::Edition2015 => name![rust_2015], Edition::Edition2015 => name![rust_2015],
Edition::Edition2018 => name![rust_2018], Edition::Edition2018 => name![rust_2018],
Edition::Edition2021 => name![rust_2021], Edition::Edition2021 => name![rust_2021],
// FIXME: update this when rust_2024 exists
Edition::Edition2024 => name![rust_2021],
}; };
let path_kind = match self.def_map.data.edition { let path_kind = match self.def_map.data.edition {

View file

@ -330,6 +330,7 @@ impl CargoWorkspace {
cargo_metadata::Edition::E2015 => Edition::Edition2015, cargo_metadata::Edition::E2015 => Edition::Edition2015,
cargo_metadata::Edition::E2018 => Edition::Edition2018, cargo_metadata::Edition::E2018 => Edition::Edition2018,
cargo_metadata::Edition::E2021 => Edition::Edition2021, cargo_metadata::Edition::E2021 => Edition::Edition2021,
cargo_metadata::Edition::_E2024 => Edition::Edition2024,
_ => { _ => {
tracing::error!("Unsupported edition `{:?}`", edition); tracing::error!("Unsupported edition `{:?}`", edition);
Edition::CURRENT Edition::CURRENT

View file

@ -213,6 +213,8 @@ enum EditionData {
Edition2018, Edition2018,
#[serde(rename = "2021")] #[serde(rename = "2021")]
Edition2021, Edition2021,
#[serde(rename = "2024")]
Edition2024,
} }
impl From<EditionData> for Edition { impl From<EditionData> for Edition {
@ -221,6 +223,7 @@ impl From<EditionData> for Edition {
EditionData::Edition2015 => Edition::Edition2015, EditionData::Edition2015 => Edition::Edition2015,
EditionData::Edition2018 => Edition::Edition2018, EditionData::Edition2018 => Edition::Edition2018,
EditionData::Edition2021 => Edition::Edition2021, EditionData::Edition2021 => Edition::Edition2021,
EditionData::Edition2024 => Edition::Edition2024,
} }
} }
} }