about summary refs log tree commit diff
path: root/tvix/build
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-10-18T12·41+0200
committerclbot <clbot@tvl.fyi>2024-10-18T21·45+0000
commit9c223450199b466c535f2b715ad68f1f295fa7dc (patch)
tree18834efec0cefeb1a6362095e6b2b4e7e094cfe1 /tvix/build
parent47efebfc6fcbce028c0f3df5f9d584119e8e8ffe (diff)
refactor(tvix/[ca]store): use auto_impl r/8835
This implements BS, DS, PS for Box'ed or Arc'ed variants of it with less
code, and less potential to accidentially forget to proxy default trait
methods for blanked impls, as fixed in cl/12658.

Change-Id: If2cdbb563a73792038ebe7bff45d6f880214855b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12661
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Diffstat (limited to 'tvix/build')
-rw-r--r--tvix/build/src/buildservice/from_addr.rs4
-rw-r--r--tvix/build/src/buildservice/oci.rs4
2 files changed, 4 insertions, 4 deletions
diff --git a/tvix/build/src/buildservice/from_addr.rs b/tvix/build/src/buildservice/from_addr.rs
index 0f4c190c2aca..ba185bb25514 100644
--- a/tvix/build/src/buildservice/from_addr.rs
+++ b/tvix/build/src/buildservice/from_addr.rs
@@ -20,8 +20,8 @@ pub async fn from_addr<BS, DS>(
     directory_service: DS,
 ) -> std::io::Result<Box<dyn BuildService>>
 where
-    BS: AsRef<dyn BlobService> + Send + Sync + Clone + 'static,
-    DS: AsRef<dyn DirectoryService> + Send + Sync + Clone + 'static,
+    BS: BlobService + Send + Sync + Clone + 'static,
+    DS: DirectoryService + Send + Sync + Clone + 'static,
 {
     let url = Url::parse(uri)
         .map_err(|e| std::io::Error::other(format!("unable to parse url: {}", e)))?;
diff --git a/tvix/build/src/buildservice/oci.rs b/tvix/build/src/buildservice/oci.rs
index 875e1de447ef..7b88518e924f 100644
--- a/tvix/build/src/buildservice/oci.rs
+++ b/tvix/build/src/buildservice/oci.rs
@@ -91,8 +91,8 @@ impl<BS, DS> OCIBuildService<BS, DS> {
 #[async_trait]
 impl<BS, DS> BuildService for OCIBuildService<BS, DS>
 where
-    BS: AsRef<dyn BlobService> + Send + Sync + Clone + 'static,
-    DS: AsRef<dyn DirectoryService> + Send + Sync + Clone + 'static,
+    BS: BlobService + Clone + 'static,
+    DS: DirectoryService + Clone + 'static,
 {
     #[instrument(skip_all, err)]
     async fn do_build(&self, request: BuildRequest) -> std::io::Result<Build> {