From c839244d8d09f3036ebfee8eef7eb6b147e593ab Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 19 May 2026 00:10:22 +0900 Subject: fix(compile): fix various compile errors Co-Authored-By: Claude Sonnet 4.6 --- crates/shirabe/src/util/sync_helper.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'crates/shirabe/src/util/sync_helper.rs') diff --git a/crates/shirabe/src/util/sync_helper.rs b/crates/shirabe/src/util/sync_helper.rs index 1be9075..22e4f1f 100644 --- a/crates/shirabe/src/util/sync_helper.rs +++ b/crates/shirabe/src/util/sync_helper.rs @@ -9,7 +9,7 @@ use shirabe_external_packages::react::promise::promise_interface::PromiseInterfa pub enum DownloaderOrManager<'a> { Interface(&'a dyn DownloaderInterface), - Manager(&'a DownloadManager), + Manager(&'a std::rc::Rc>), } impl<'a> DownloaderOrManager<'a> { @@ -21,7 +21,7 @@ impl<'a> DownloaderOrManager<'a> { ) -> Box { match self { Self::Interface(d) => d.download(package, path, prev_package), - Self::Manager(d) => d.download(package, path, prev_package), + Self::Manager(d) => d.borrow().download(package, path, prev_package), } } @@ -34,14 +34,14 @@ impl<'a> DownloaderOrManager<'a> { ) -> Box { match self { Self::Interface(d) => d.prepare(r#type, package, path, prev_package), - Self::Manager(d) => d.prepare(r#type, package, path, prev_package), + Self::Manager(d) => d.borrow().prepare(r#type, package, path, prev_package), } } fn install(&self, package: &dyn PackageInterface, path: &str) -> Box { match self { Self::Interface(d) => d.install(package, path), - Self::Manager(d) => d.install(package, path), + Self::Manager(d) => d.borrow().install(package, path), } } @@ -53,7 +53,7 @@ impl<'a> DownloaderOrManager<'a> { ) -> Box { match self { Self::Interface(d) => d.update(package, prev_package, path), - Self::Manager(d) => d.update(package, prev_package, path), + Self::Manager(d) => d.borrow().update(package, prev_package, path), } } @@ -66,7 +66,7 @@ impl<'a> DownloaderOrManager<'a> { ) -> Box { match self { Self::Interface(d) => d.cleanup(r#type, package, path, prev_package), - Self::Manager(d) => d.cleanup(r#type, package, path, prev_package), + Self::Manager(d) => d.borrow().cleanup(r#type, package, path, prev_package), } } } @@ -75,7 +75,7 @@ pub struct SyncHelper; impl SyncHelper { pub fn download_and_install_package_sync( - r#loop: &Loop, + r#loop: &std::rc::Rc>, downloader: DownloaderOrManager<'_>, path: String, package: &dyn PackageInterface, @@ -121,9 +121,12 @@ impl SyncHelper { Ok(()) } - pub fn r#await(r#loop: &Loop, promise: Option>) -> Result<()> { + pub fn r#await( + r#loop: &std::rc::Rc>, + promise: Option>, + ) -> Result<()> { if let Some(promise) = promise { - r#loop.wait(vec![promise]); + r#loop.borrow_mut().wait(vec![promise], None)?; } Ok(()) } -- cgit v1.3.1