diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-06 18:21:02 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-06 18:21:02 +0900 |
| commit | 23f8a0dc3e08949ec78e050b7642c605fa2aaaf5 (patch) | |
| tree | 2633604624cb53695dfdc4d9597ff1d034c57eac /crates/shirabe/src/repository/installed_filesystem_repository.rs | |
| parent | d5b313f388d424e60ae33ae58c1a65a65b24b8f1 (diff) | |
| download | php-shirabe-23f8a0dc3e08949ec78e050b7642c605fa2aaaf5.tar.gz php-shirabe-23f8a0dc3e08949ec78e050b7642c605fa2aaaf5.tar.zst php-shirabe-23f8a0dc3e08949ec78e050b7642c605fa2aaaf5.zip | |
feat(composite-repository): forward remove_package to writable repos
Resolve the phase-b TODO by adding an as_writable_repository_interface_mut
downcast helper on RepositoryInterface, mirroring PHP's instanceof
WritableRepositoryInterface check, and propagate inner errors.
Diffstat (limited to 'crates/shirabe/src/repository/installed_filesystem_repository.rs')
| -rw-r--r-- | crates/shirabe/src/repository/installed_filesystem_repository.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/shirabe/src/repository/installed_filesystem_repository.rs b/crates/shirabe/src/repository/installed_filesystem_repository.rs index 84bf1ca..1f6be2c 100644 --- a/crates/shirabe/src/repository/installed_filesystem_repository.rs +++ b/crates/shirabe/src/repository/installed_filesystem_repository.rs @@ -161,6 +161,11 @@ impl RepositoryInterface for InstalledFilesystemRepository { ) -> Option<&mut dyn InstalledRepositoryInterface> { Some(self) } + fn as_writable_repository_interface_mut( + &mut self, + ) -> Option<&mut dyn crate::repository::WritableRepositoryInterface> { + Some(self) + } fn as_any(&self) -> &dyn std::any::Any { todo!() } |
