aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver
AgeCommit message (Collapse)Author
8 daysrefactor(package): pass package handles by value throughoutnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 daysrefactor(io): share IOInterface via Rc<RefCell<dyn _>> handlensfisis
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
10 daysrefactor(package): introduce Rc<RefCell<_>> handles for packagesnsfisis
PHP packages have reference semantics, so introduce shared-ownership handles over an AnyPackage enum (PackageInterfaceHandle and friends) and replace Box<dyn PackageInterface> throughout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 daysrefactor(semver): change ConstraintInterface to a closed enumnsfisis
Replace the dyn ConstraintInterface trait objects with an AnyConstraint enum closing over its four implementors (Simple, Multi, MatchAll, MatchNone), mirroring the earlier Rule enum conversion. Rename constraint.rs to simple_constraint.rs to match the renamed Constraint type. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 daysrefactor(resolver): change Rule to a closed enumnsfisis
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
13 daysrefactor: share Pool via Rc<RefCell>nsfisis
Convert Pool to Rc<RefCell<Pool>> so Solver, Decisions, and RuleSetGenerator share it, resolving the todo!() placeholders that blocked the dependency resolver (Phase C shared ownership). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20refactor: re-export module items to shorten import pathsnsfisis
2026-05-20fix(compile): fix all remaining compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix more random compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix various compile errorsnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18fix(compile): extract static methods from BasePackage traitnsfisis
2026-05-17fix(compile): make Rule trait dyn-compatible by extracting RuleBasensfisis
Removed the static fn new() from the Rule trait (which prevented dyn compatibility) and moved it into a new RuleBase struct.
2026-05-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(compile): remove to_string from impl Rule blocks (E0407)nsfisis
2026-05-17fix(compile): add dyn keyword to all trait object usages (E0782)nsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): add Display impls and fix trait signaturesnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): add missing use declarations for Command, Composer, ↵nsfisis
IOInterface, etc.
2026-05-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(compile): implement abstract class traits across all typesnsfisis
Implement BaseCommand trait and other abstract class traits across all command, downloader, io, package, and VCS driver types. Also fix trait method signatures for composer_mut and io_mut to return mutable references to Option rather than Option of mutable references.
2026-05-17fix(compile): remove visibility from trait methodsnsfisis
2026-05-17refactor(shirabe): convert PHP abstract classes to Rust traitsnsfisis
PHP abstract classes are represented as traits to better align with Rust's type system.
2026-05-17chore(style): cargo fmtnsfisis
2026-05-16feat(port): port Problem.phpnsfisis
2026-05-16feat(port): port Solver.phpnsfisis
2026-05-16feat(port): port PoolBuilder.phpnsfisis
2026-05-16feat(port): port PoolOptimizer.phpnsfisis
2026-05-16feat(port): port Rule.phpnsfisis
2026-05-16feat(port): port Transaction.phpnsfisis
2026-05-16feat(port): port Pool.phpnsfisis
2026-05-16feat(port): port RuleSetGenerator.phpnsfisis
2026-05-16feat(port): port DefaultPolicy.phpnsfisis
2026-05-16feat(port): port SvnDownloader.php, FossilDriver.php, Request.php, ↵nsfisis
PathRepository.php, StreamContextFactory.php Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16feat(port): port Decisions.phpnsfisis
2026-05-16feat(port): port LockTransaction.phpnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16feat(port): port RuleSet.phpnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16feat(port): port RuleWatchGraph.phpnsfisis
2026-05-16feat(port): port SolverProblemsException.phpnsfisis
2026-05-15feat(port): port SecurityAdvisoryPoolFilter.phpnsfisis
2026-05-15feat(port): port Rule2Literals.phpnsfisis
2026-05-15feat(port): port RuleWatchNode.phpnsfisis
2026-05-15feat(port): port MultiConflictRule.phpnsfisis
2026-05-15feat(port): port RuleSetIterator.phpnsfisis
2026-05-14feat(port): port GenericRule.phpnsfisis
2026-05-14feat(port): port UpdateOperation.phpnsfisis
2026-05-12feat(port): port UninstallOperation.phpnsfisis
2026-05-12feat(port): port InstallOperation.phpnsfisis
2026-05-12feat(port): port RuleWatchChain.phpnsfisis
2026-05-12feat(port): port MarkAliasUninstalledOperation.phpnsfisis
2026-05-12feat(port): port MarkAliasInstalledOperation.phpnsfisis
2026-05-12feat(port): port OperationInterface.phpnsfisis