feat(cargo-util-schemas): TryFrom<PartialVersion> for RustVersion

This commit is contained in:
Weihang Lo 2024-01-20 11:57:07 -05:00
parent 10b8e7bdac
commit 7b0919399d
No known key found for this signature in database
GPG key ID: D7DBF189825E82E7

View file

@ -1417,6 +1417,14 @@ impl std::str::FromStr for RustVersion {
fn from_str(value: &str) -> Result<Self, Self::Err> {
let partial = value.parse::<PartialVersion>();
let partial = partial.map_err(RustVersionErrorKind::PartialVersion)?;
partial.try_into()
}
}
impl TryFrom<PartialVersion> for RustVersion {
type Error = RustVersionError;
fn try_from(partial: PartialVersion) -> Result<Self, Self::Error> {
if partial.pre.is_some() {
return Err(RustVersionErrorKind::Prerelease.into());
}