From 27ff98000b0cdf0ed30eb8837c7d44cd3e79d32f Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 25 May 2023 17:52:08 +0300 Subject: feat(tvix/store): eliminate generics in BlobStore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To construct various stores at runtime, we need to eliminate associated types from the BlobService trait, and return Box instead of specific types. This also means we can't consume self in the close() method, so everything we write to is put in an Option<>, and during the first close we take from there. Change-Id: Ia523b6ab2f2a5276f51cb5d17e81a5925bce69b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8647 Autosubmit: flokli Tested-by: BuildkiteCI Reviewed-by: tazjin --- tvix/cli/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tvix/cli/src/main.rs') diff --git a/tvix/cli/src/main.rs b/tvix/cli/src/main.rs index 28b75dd907..459177717c 100644 --- a/tvix/cli/src/main.rs +++ b/tvix/cli/src/main.rs @@ -75,14 +75,14 @@ fn interpret(code: &str, path: Option, args: &Args, explain: bool) -> b let directory_service = MemoryDirectoryService::default(); let path_info_service = MemoryPathInfoService::default(); let nar_calculation_service = tvix_store::nar::NonCachingNARCalculationService::new( - blob_service.clone(), + Box::new(blob_service.clone()), directory_service.clone(), ); eval.io_handle = Box::new(tvix_io::TvixIO::new( known_paths.clone(), tvix_store::TvixStoreIO::new( - blob_service, + Box::new(blob_service), directory_service, path_info_service, nar_calculation_service, -- cgit 1.4.1