aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-14 11:24:36 +0900
committernsfisis <nsfisis@gmail.com>2026-06-14 11:28:19 +0900
commit716f44031a39c5e43fb441ecc470db76efc23dd4 (patch)
treee6f4a31e4bf55a0a8efb06d9dd4844c567e7390f /crates/shirabe/src/dependency_resolver
parentef9118c788c1cbb22ca7721b6a9e40c2bf2fe243 (diff)
downloadphp-shirabe-716f44031a39c5e43fb441ecc470db76efc23dd4.tar.gz
php-shirabe-716f44031a39c5e43fb441ecc470db76efc23dd4.tar.zst
php-shirabe-716f44031a39c5e43fb441ecc470db76efc23dd4.zip
refactor(pcre): drop Result from Preg method return types
The Preg methods panic on PCRE failure (per the file header rationale), so their anyhow::Result wrappers never carried an Err. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver')
-rw-r--r--crates/shirabe/src/dependency_resolver/lock_transaction.rs8
-rw-r--r--crates/shirabe/src/dependency_resolver/pool_builder.rs6
-rw-r--r--crates/shirabe/src/dependency_resolver/problem.rs24
3 files changed, 16 insertions, 22 deletions
diff --git a/crates/shirabe/src/dependency_resolver/lock_transaction.rs b/crates/shirabe/src/dependency_resolver/lock_transaction.rs
index 61f5b39..77fa65f 100644
--- a/crates/shirabe/src/dependency_resolver/lock_transaction.rs
+++ b/crates/shirabe/src/dependency_resolver/lock_transaction.rs
@@ -156,14 +156,16 @@ impl LockTransaction {
if package.get_dist_url().is_some()
&& present_package.get_dist_reference().is_some()
- && Preg::is_match(r"{^https?://(?:(?:www\.)?bitbucket\.org|(api\.)?github\.com|(?:www\.)?gitlab\.com)/}i", &package.get_dist_url().unwrap()).unwrap_or(false)
+ && Preg::is_match(
+ r"{^https?://(?:(?:www\.)?bitbucket\.org|(api\.)?github\.com|(?:www\.)?gitlab\.com)/}i",
+ &package.get_dist_url().unwrap(),
+ )
{
let new_dist_url = Preg::replace(
r"{(?<=/|sha=)[a-f0-9]{40}(?=/|$)}i",
&present_package.get_dist_reference().unwrap(),
&package.get_dist_url().unwrap(),
- )
- .unwrap_or_else(|_| package.get_dist_url().unwrap());
+ );
present_package.set_dist_url(Some(new_dist_url));
}
present_package.set_dist_mirrors(package.get_dist_mirrors());
diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs
index a517488..9589276 100644
--- a/crates/shirabe/src/dependency_resolver/pool_builder.rs
+++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs
@@ -802,7 +802,7 @@ impl PoolBuilder {
fn is_update_allowed(&self, package: PackageInterfaceHandle) -> bool {
for pattern in &self.update_allow_list {
let pattern_regexp = base_package::package_name_to_regexp(pattern);
- if Preg::is_match3(&pattern_regexp, &package.get_name(), None).unwrap_or(false) {
+ if Preg::is_match3(&pattern_regexp, &package.get_name(), None) {
return true;
}
}
@@ -830,13 +830,13 @@ impl PoolBuilder {
.borrow_mut()
.get_canonical_packages()?
{
- if Preg::is_match3(&pattern_regexp, &package.get_name(), None).unwrap_or(false) {
+ if Preg::is_match3(&pattern_regexp, &package.get_name(), None) {
continue 'outer;
}
}
// update pattern matches a root require? => all good, probably a new package
for (package_name, _constraint) in request.get_requires() {
- if Preg::is_match3(&pattern_regexp, package_name, None).unwrap_or(false) {
+ if Preg::is_match3(&pattern_regexp, package_name, None) {
if PlatformRepository::is_platform_package(package_name) {
matched_platform_package = true;
continue;
diff --git a/crates/shirabe/src/dependency_resolver/problem.rs b/crates/shirabe/src/dependency_resolver/problem.rs
index b8fa03f..93d82be 100644
--- a/crates/shirabe/src/dependency_resolver/problem.rs
+++ b/crates/shirabe/src/dependency_resolver/problem.rs
@@ -236,14 +236,12 @@ impl Problem {
&message,
Some(&mut m),
)
- .unwrap_or(false)
} else {
false
};
if matched {
message = str_replace("%", "%%", &message);
- let template =
- Preg::replace(r"{^\S+ \S+ }", "%s%s ", &message).unwrap_or(message.clone());
+ let template = Preg::replace(r"{^\S+ \S+ }", "%s%s ", &message);
messages.push(template.clone());
let pkg_key = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
let m2 = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default();
@@ -311,8 +309,7 @@ impl Problem {
if versions_list.len() > 1 {
// remove the s from requires/conflicts to correct grammar
let message_var =
- Preg::replace(r"{^(%s%s (?:require|conflict))s}", "$1", message)
- .unwrap_or(message.clone());
+ Preg::replace(r"{^(%s%s (?:require|conflict))s}", "$1", message);
result.push(sprintf(
&message_var,
&[
@@ -568,11 +565,10 @@ impl Problem {
if let Some(c) = constraint {
if c.is_constraint()
&& c.get_operator() == SimpleConstraint::STR_OP_EQ
- && Preg::is_match3(r"{^dev-.*#.*}", &c.get_pretty_string(), None).unwrap_or(false)
+ && Preg::is_match3(r"{^dev-.*#.*}", &c.get_pretty_string(), None)
{
let new_constraint =
- Preg::replace(r"{ +as +([^,\s|]+)$}", "", &c.get_pretty_string())
- .unwrap_or_else(|_| c.get_pretty_string());
+ Preg::replace(r"{ +as +([^,\s|]+)$}", "", &c.get_pretty_string());
let packages = repository_set.find_packages(
package_name,
Some(
@@ -983,9 +979,8 @@ impl Problem {
));
}
- if !Preg::is_match3(r"{^[A-Za-z0-9_./-]+$}", package_name, None).unwrap_or(false) {
- let illegal_chars =
- Preg::replace(r"{[A-Za-z0-9_./-]+}", "", package_name).unwrap_or_default();
+ if !Preg::is_match3(r"{^[A-Za-z0-9_./-]+$}", package_name, None) {
+ let illegal_chars = Preg::replace(r"{[A-Za-z0-9_./-]+}", "", package_name);
return Ok((
format!("- Root composer.json requires {}, it ", package_name),
@@ -1196,8 +1191,7 @@ impl Problem {
.or_insert_with(Vec::new)
.push(pretty.clone());
} else {
- let key = Preg::replace(r"{^(\d+)\..*}", "$1", version)
- .unwrap_or_else(|_| version.clone());
+ let key = Preg::replace(r"{^(\d+)\..*}", "$1", version);
by_major
.entry(key)
.or_insert_with(Vec::new)
@@ -1377,9 +1371,7 @@ impl Problem {
&& c.get_operator() == SimpleConstraint::STR_OP_EQ
&& !str_starts_with(&c.get_version(), "dev-")
{
- if !Preg::is_match3(r"{^\d+(?:\.\d+)*$}", &c.get_pretty_string(), None)
- .unwrap_or(false)
- {
+ if !Preg::is_match3(r"{^\d+(?:\.\d+)*$}", &c.get_pretty_string(), None) {
return format!(" {} (exact version match)", c.get_pretty_string());
}