diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-04 00:16:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-04 00:16:43 +0900 |
| commit | 5fc05048a456ce18fd9408ea985031865cf45550 (patch) | |
| tree | 9d01068a076f096874c188f0622f260920d94476 /crates/mozart | |
| parent | 16f8cf26db22c4fb1073b55d57d31110ea9773cc (diff) | |
| download | php-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.rs | 2 |
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); |
