From 1aa15eb8ff074ca036c0a7518c2a4a00ff927f64 Mon Sep 17 00:00:00 2001 From: Ahmed Ilyas Date: Sat, 10 Aug 2024 21:04:41 +0200 Subject: [PATCH] `from_str` for Pep732Metadata --- crates/uv-scripts/src/lib.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/uv-scripts/src/lib.rs b/crates/uv-scripts/src/lib.rs index 8c9af026e1d2..e9d8ccabf70e 100644 --- a/crates/uv-scripts/src/lib.rs +++ b/crates/uv-scripts/src/lib.rs @@ -1,6 +1,7 @@ use std::collections::BTreeMap; use std::io; use std::path::{Path, PathBuf}; +use std::str::FromStr; use std::sync::LazyLock; use memchr::memmem::Finder; @@ -39,7 +40,7 @@ impl Pep723Script { }; // Parse the metadata. - let metadata = Pep723Metadata::from_string(metadata)?; + let metadata = Pep723Metadata::from_str(&metadata)?; Ok(Some(Self { path: file.as_ref().to_path_buf(), @@ -72,11 +73,15 @@ pub struct Pep723Metadata { pub raw: String, } -impl Pep723Metadata { +impl FromStr for Pep723Metadata { + type Err = Pep723Error; /// Parse `Pep723Metadata` from a raw TOML string. - pub fn from_string(raw: String) -> Result { - let metadata = toml::from_str(&raw)?; - Ok(Pep723Metadata { raw, ..metadata }) + fn from_str(raw: &str) -> Result { + let metadata = toml::from_str(raw)?; + Ok(Pep723Metadata { + raw: raw.to_string(), + ..metadata + }) } }