aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-04 00:16:43 +0900
committernsfisis <nsfisis@gmail.com>2026-05-04 00:16:43 +0900
commit5fc05048a456ce18fd9408ea985031865cf45550 (patch)
tree9d01068a076f096874c188f0622f260920d94476 /crates/mozart
parent16f8cf26db22c4fb1073b55d57d31110ea9773cc (diff)
downloadphp-mozart-5fc05048a456ce18fd9408ea985031865cf45550.tar.gz
php-mozart-5fc05048a456ce18fd9408ea985031865cf45550.tar.zst
php-mozart-5fc05048a456ce18fd9408ea985031865cf45550.zip
fix(resolver): rewrite self.version on materialized root aliases
Mirror Composer's `AliasPackage::replaceSelfVersionDependencies`: a base package's `replace` / `provide` / `conflict` link whose constraint matches the base's own version (the resolved form of `self.version`) is duplicated on the alias at the alias's version. A root require like `a/aliased: dev-next as 4.1.0-RC2` paired with `replace: { foo: self.version }` previously left the alias with a `dev-next` constraint, so a transitive `foo ^4.0` requirement saw no numeric provider and the solver bailed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart')
-rw-r--r--crates/mozart/tests/installer.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs
index b998793..968cdb1 100644
--- a/crates/mozart/tests/installer.rs
+++ b/crates/mozart/tests/installer.rs
@@ -253,7 +253,7 @@ installer_fixture!(alias_solver_problems2);
installer_fixture!(alias_with_reference);
installer_fixture!(aliased_priority);
installer_fixture!(aliased_priority_conflicting);
-installer_fixture!(aliases_with_require_dev, ignore);
+installer_fixture!(aliases_with_require_dev);
installer_fixture!(broken_deps_do_not_replace);
installer_fixture!(circular_dependency);
installer_fixture!(circular_dependency2);