diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-17 04:56:37 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-17 04:57:23 +0900 |
| commit | 8fb6de392bbac104c07a5cdbac12a4fd25ab1127 (patch) | |
| tree | 9cbe66e913ae2166b1f976ae5a2a1e8a06492e97 /crates/shirabe-semver/src/semver.rs | |
| parent | 90b3be462bd2f91ef366df06c2b5bbae2821a394 (diff) | |
| download | php-shirabe-8fb6de392bbac104c07a5cdbac12a4fd25ab1127.tar.gz php-shirabe-8fb6de392bbac104c07a5cdbac12a4fd25ab1127.tar.zst php-shirabe-8fb6de392bbac104c07a5cdbac12a4fd25ab1127.zip | |
fix(semver): resolve shirabe-semver compile errors
- Replace RefCell with Mutex in Constraint for thread safety
- Add clone_box() to ConstraintInterface for cloning trait objects
- Propagate Result from Constraint::new() and unwrap at call sites
- Fix VersionParser instantiation (unit struct, not fn)
- Add indexmap dependency to shirabe-semver
Diffstat (limited to 'crates/shirabe-semver/src/semver.rs')
| -rw-r--r-- | crates/shirabe-semver/src/semver.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/crates/shirabe-semver/src/semver.rs b/crates/shirabe-semver/src/semver.rs index 8fecf27..0aff3d7 100644 --- a/crates/shirabe-semver/src/semver.rs +++ b/crates/shirabe-semver/src/semver.rs @@ -14,13 +14,14 @@ impl Semver { fn version_parser() -> &'static VersionParser { static VERSION_PARSER: OnceLock<VersionParser> = OnceLock::new(); - VERSION_PARSER.get_or_init(VersionParser::new) + VERSION_PARSER.get_or_init(|| VersionParser) } pub fn satisfies(version: String, constraints: String) -> anyhow::Result<bool> { let version_parser = Self::version_parser(); - let provider = Constraint::new("==".to_string(), version_parser.normalize(version)?); - let parsed_constraints = version_parser.parse_constraints(constraints)?; + let provider = + Constraint::new("==".to_string(), version_parser.normalize(&version, None)?)?; + let parsed_constraints = version_parser.parse_constraints(&constraints)?; Ok(parsed_constraints.matches(&provider)) } @@ -49,9 +50,9 @@ impl Semver { .iter() .enumerate() .map(|(key, version)| -> anyhow::Result<(String, usize)> { - let normalized_version = version_parser.normalize(version.clone())?; + let normalized_version = version_parser.normalize(version, None)?; let normalized_version = - version_parser.normalize_default_branch(normalized_version); + version_parser.normalize_default_branch(&normalized_version); Ok((normalized_version, key)) }) .collect::<anyhow::Result<Vec<_>>>()?; |
