diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:08 +0900 |
| commit | 5e31fa33c3b5cf726a57a063b8e7a070869250fe (patch) | |
| tree | 98522466966fa7df483cad174ab5fc03db39bc09 /crates/shirabe/src/repository/repository_utils.rs | |
| parent | c839244d8d09f3036ebfee8eef7eb6b147e593ab (diff) | |
| download | php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.gz php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.zst php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.zip | |
fix(compile): fix more random compile errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/repository_utils.rs')
| -rw-r--r-- | crates/shirabe/src/repository/repository_utils.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/crates/shirabe/src/repository/repository_utils.rs b/crates/shirabe/src/repository/repository_utils.rs index d39daa1..0f4f6a8 100644 --- a/crates/shirabe/src/repository/repository_utils.rs +++ b/crates/shirabe/src/repository/repository_utils.rs @@ -23,7 +23,7 @@ impl RepositoryUtils { } for candidate in packages { - for name in candidate.get_names() { + for name in candidate.get_names(true) { if requires.contains_key(&name) { let already_in_bucket = bucket.iter().any(|b| { std::ptr::eq( @@ -52,10 +52,8 @@ impl RepositoryUtils { unwrap_filter_repos: bool, ) -> Vec<Box<dyn RepositoryInterface>> { let repo: Box<dyn RepositoryInterface> = if unwrap_filter_repos { - if let Some(filter_repo) = - (repo.as_any() as &dyn Any).downcast_ref::<FilterRepository>() - { - filter_repo.get_repository() + if let Some(filter_repo) = repo.as_any().downcast_ref::<FilterRepository>() { + filter_repo.get_repository().clone_box() } else { repo } @@ -63,12 +61,10 @@ impl RepositoryUtils { repo }; - if let Some(composite_repo) = - (repo.as_any() as &dyn Any).downcast_ref::<CompositeRepository>() - { + if let Some(composite_repo) = repo.as_any().downcast_ref::<CompositeRepository>() { let mut repos = Vec::new(); for r in composite_repo.get_repositories() { - for r2 in Self::flatten_repositories(r, unwrap_filter_repos) { + for r2 in Self::flatten_repositories(r.clone_box(), unwrap_filter_repos) { repos.push(r2); } } |
