mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-28 05:53:45 +00:00
Add minimal support for the 2024 edition
This commit is contained in:
parent
21b06c1beb
commit
fec0e04fc2
4 changed files with 9 additions and 0 deletions
|
@ -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",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue