aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/repository_set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/repository/repository_set.rs')
-rw-r--r--crates/shirabe/src/repository/repository_set.rs43
1 files changed, 23 insertions, 20 deletions
diff --git a/crates/shirabe/src/repository/repository_set.rs b/crates/shirabe/src/repository/repository_set.rs
index 6985a18..18c3ba6 100644
--- a/crates/shirabe/src/repository/repository_set.rs
+++ b/crates/shirabe/src/repository/repository_set.rs
@@ -180,18 +180,17 @@ impl RepositorySet {
.into());
}
- let repos: Vec<Box<dyn RepositoryInterface>> = if let Some(composite) =
- (repo.as_any() as &dyn Any).downcast_ref::<CompositeRepository>()
- {
- // TODO(phase-b): clone composite.get_repositories() — Box<dyn RepositoryInterface> cloning
- composite
- .get_repositories()
- .iter()
- .map(|r| r.clone_box())
- .collect()
- } else {
- vec![repo]
- };
+ let repos: Vec<Box<dyn RepositoryInterface>> =
+ if let Some(composite) = repo.as_any().downcast_ref::<CompositeRepository>() {
+ // TODO(phase-b): clone composite.get_repositories() — Box<dyn RepositoryInterface> cloning
+ composite
+ .get_repositories()
+ .iter()
+ .map(|r| r.clone_box())
+ .collect()
+ } else {
+ vec![repo]
+ };
for repo in repos {
self.repositories.push(repo);
@@ -321,7 +320,7 @@ impl RepositorySet {
let mut map: IndexMap<String, Box<dyn ConstraintInterface>> = IndexMap::new();
for package in packages {
// ignore root alias versions as they are not actual package versions and should not matter when it comes to vulnerabilities
- if let Some(alias) = (package.as_any() as &dyn Any).downcast_ref::<AliasPackage>() {
+ if let Some(alias) = package.as_any().downcast_ref::<AliasPackage>() {
if alias.is_root_package_alias() {
continue;
}
@@ -475,10 +474,12 @@ impl RepositorySet {
pool_builder.set_allowed_types(allowed_types);
for repo in &self.repositories {
- let is_installed = (repo.as_any() as &dyn Any)
+ let is_installed = repo
+ .as_any()
.downcast_ref::<dyn InstalledRepositoryInterface>()
.is_some()
- || (repo.as_any() as &dyn Any)
+ || repo
+ .as_any()
.downcast_ref::<InstalledRepository>()
.is_some();
if is_installed && !self.allow_installed_repositories {
@@ -500,10 +501,12 @@ impl RepositorySet {
/// Create a pool for dependency resolution from the packages in this repository set.
pub fn create_pool_with_all_packages(&mut self) -> Result<Pool> {
for repo in &self.repositories {
- let is_installed = (repo.as_any() as &dyn Any)
+ let is_installed = repo
+ .as_any()
.downcast_ref::<dyn InstalledRepositoryInterface>()
.is_some()
- || (repo.as_any() as &dyn Any)
+ || repo
+ .as_any()
.downcast_ref::<InstalledRepository>()
.is_some();
if is_installed && !self.allow_installed_repositories {
@@ -527,12 +530,12 @@ impl RepositorySet {
if let Some(versions) = self.root_aliases.get(&name) {
if let Some(alias) = versions.get(&version) {
- while let Some(alias_pkg) =
- (package.as_any() as &dyn Any).downcast_ref::<AliasPackage>()
+ while let Some(alias_pkg) = package.as_any().downcast_ref::<AliasPackage>()
{
package = alias_pkg.get_alias_of().clone_box();
}
- let alias_package: Box<dyn BasePackage> = if (package.as_any() as &dyn Any)
+ let alias_package: Box<dyn BasePackage> = if package
+ .as_any()
.downcast_ref::<CompletePackage>()
.is_some()
{