Remove Optional from with_origin API (#3482)

This commit is contained in:
Charlie Marsh 2024-05-09 09:40:51 -04:00 committed by GitHub
parent 3e4365301e
commit b6bb2ac548
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 21 additions and 11 deletions

View file

@ -157,8 +157,11 @@ pub struct Requirement<T: Pep508Url = VerbatimUrl> {
impl Requirement { impl Requirement {
/// Set the source file containing the requirement. /// Set the source file containing the requirement.
#[must_use] #[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self { pub fn with_origin(self, origin: RequirementOrigin) -> Self {
Self { origin, ..self } Self {
origin: Some(origin),
..self
}
} }
} }

View file

@ -55,8 +55,11 @@ impl UnnamedRequirement {
/// Set the source file containing the requirement. /// Set the source file containing the requirement.
#[must_use] #[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self { pub fn with_origin(self, origin: RequirementOrigin) -> Self {
Self { origin, ..self } Self {
origin: Some(origin),
..self
}
} }
} }

View file

@ -826,7 +826,11 @@ fn parse_requirement_and_hashes(
let requirement = RequirementsTxtRequirement::parse(requirement, working_dir) let requirement = RequirementsTxtRequirement::parse(requirement, working_dir)
.map(|requirement| { .map(|requirement| {
requirement.with_origin(source.map(Path::to_path_buf).map(RequirementOrigin::File)) if let Some(source) = source {
requirement.with_origin(RequirementOrigin::File(source.to_path_buf()))
} else {
requirement
}
}) })
.map_err(|err| match err { .map_err(|err| match err {
RequirementsTxtRequirementError::ParsedUrl(err) => { RequirementsTxtRequirementError::ParsedUrl(err) => {

View file

@ -21,7 +21,7 @@ pub enum RequirementsTxtRequirement {
impl RequirementsTxtRequirement { impl RequirementsTxtRequirement {
/// Set the source file containing the requirement. /// Set the source file containing the requirement.
#[must_use] #[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self { pub fn with_origin(self, origin: RequirementOrigin) -> Self {
match self { match self {
Self::Named(requirement) => Self::Named(requirement.with_origin(origin)), Self::Named(requirement) => Self::Named(requirement.with_origin(origin)),
Self::Unnamed(requirement) => Self::Unnamed(requirement.with_origin(origin)), Self::Unnamed(requirement) => Self::Unnamed(requirement.with_origin(origin)),

View file

@ -333,9 +333,9 @@ pub(crate) fn lower_requirements(
let dependencies = dependencies let dependencies = dependencies
.iter() .iter()
.map(|dependency| { .map(|dependency| {
let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(Some( let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(
RequirementOrigin::Project(pyproject_path.to_path_buf(), project_name.clone()), RequirementOrigin::Project(pyproject_path.to_path_buf(), project_name.clone()),
)); );
let name = requirement.name.clone(); let name = requirement.name.clone();
lower_requirement( lower_requirement(
requirement, requirement,
@ -356,10 +356,10 @@ pub(crate) fn lower_requirements(
.iter() .iter()
.map(|dependency| { .map(|dependency| {
let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin( let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(
Some(RequirementOrigin::Project( RequirementOrigin::Project(
pyproject_path.to_path_buf(), pyproject_path.to_path_buf(),
project_name.clone(), project_name.clone(),
)), ),
); );
let name = requirement.name.clone(); let name = requirement.name.clone();
lower_requirement( lower_requirement(

View file

@ -154,7 +154,7 @@ impl<'a, Context: BuildContext> SourceTreeResolver<'a, Context> {
ExtrasSpecification::None => Ok(metadata ExtrasSpecification::None => Ok(metadata
.requires_dist .requires_dist
.into_iter() .into_iter()
.map(|requirement| requirement.with_origin(Some(origin.clone()))) .map(|requirement| requirement.with_origin(origin.clone()))
.collect()), .collect()),
ExtrasSpecification::All => Ok(metadata ExtrasSpecification::All => Ok(metadata
.requires_dist .requires_dist