about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/eval/src/io.rs24
-rw-r--r--tvix/glue/src/tvix_io.rs8
-rw-r--r--tvix/glue/src/tvix_store_io.rs12
3 files changed, 22 insertions, 22 deletions
diff --git a/tvix/eval/src/io.rs b/tvix/eval/src/io.rs
index 26b9337df037..ccbc7dfdbcb0 100644
--- a/tvix/eval/src/io.rs
+++ b/tvix/eval/src/io.rs
@@ -46,7 +46,7 @@ pub trait EvalIO {
     /// * checking whether a file added to the `NIX_PATH` actually exists when
     ///   it is referenced in `<...>` brackets.
     /// * `builtins.pathExists :: path -> bool`
-    fn path_exists(&self, path: &Path) -> Result<bool, io::Error>;
+    fn path_exists(&self, path: &Path) -> io::Result<bool>;
 
     /// Read the file at the specified path to a string.
     ///
@@ -54,7 +54,7 @@ pub trait EvalIO {
     ///
     /// * `builtins.readFile :: path -> string`
     /// * `builtins.import :: path -> any`
-    fn read_to_string(&self, path: &Path) -> Result<String, io::Error>;
+    fn read_to_string(&self, path: &Path) -> io::Result<String>;
 
     /// Read the directory at the specified path and return the names
     /// of its entries associated with their [`FileType`].
@@ -62,7 +62,7 @@ pub trait EvalIO {
     /// This is used for the following language evaluation cases:
     ///
     /// * `builtins.readDir :: path -> attrs<filename, filetype>`
-    fn read_dir(&self, path: &Path) -> Result<Vec<(bytes::Bytes, FileType)>, io::Error>;
+    fn read_dir(&self, path: &Path) -> io::Result<Vec<(bytes::Bytes, FileType)>>;
 
     /// Import the given path. What this means depends on the implementation,
     /// for example for a `std::io`-based implementation this might be a no-op,
@@ -74,7 +74,7 @@ pub trait EvalIO {
     /// * string coercion of path literals (e.g. `/foo/bar`), which are expected
     ///   to return a path
     /// * `builtins.toJSON` on a path literal, also expected to return a path
-    fn import_path(&self, path: &Path) -> Result<PathBuf, io::Error>;
+    fn import_path(&self, path: &Path) -> io::Result<PathBuf>;
 
     /// Returns the root of the store directory, if such a thing
     /// exists in the evaluation context.
@@ -95,15 +95,15 @@ pub struct StdIO;
 // TODO: we might want to make this whole impl to be target_family = "unix".
 #[cfg(feature = "impure")]
 impl EvalIO for StdIO {
-    fn path_exists(&self, path: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, path: &Path) -> io::Result<bool> {
         path.try_exists()
     }
 
-    fn read_to_string(&self, path: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, path: &Path) -> io::Result<String> {
         std::fs::read_to_string(path)
     }
 
-    fn read_dir(&self, path: &Path) -> Result<Vec<(bytes::Bytes, FileType)>, io::Error> {
+    fn read_dir(&self, path: &Path) -> io::Result<Vec<(bytes::Bytes, FileType)>> {
         let mut result = vec![];
 
         for entry in path.read_dir()? {
@@ -128,7 +128,7 @@ impl EvalIO for StdIO {
 
     // this is a no-op for `std::io`, as the user can already refer to
     // the path directly
-    fn import_path(&self, path: &Path) -> Result<PathBuf, io::Error> {
+    fn import_path(&self, path: &Path) -> io::Result<PathBuf> {
         Ok(path.to_path_buf())
     }
 }
@@ -138,28 +138,28 @@ impl EvalIO for StdIO {
 pub struct DummyIO;
 
 impl EvalIO for DummyIO {
-    fn path_exists(&self, _: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, _: &Path) -> io::Result<bool> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn read_to_string(&self, _: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, _: &Path) -> io::Result<String> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn read_dir(&self, _: &Path) -> Result<Vec<(bytes::Bytes, FileType)>, io::Error> {
+    fn read_dir(&self, _: &Path) -> io::Result<Vec<(bytes::Bytes, FileType)>> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn import_path(&self, _: &Path) -> Result<PathBuf, io::Error> {
+    fn import_path(&self, _: &Path) -> io::Result<PathBuf> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
diff --git a/tvix/glue/src/tvix_io.rs b/tvix/glue/src/tvix_io.rs
index 09e1417a2157..52bbd7bc9cda 100644
--- a/tvix/glue/src/tvix_io.rs
+++ b/tvix/glue/src/tvix_io.rs
@@ -40,7 +40,7 @@ impl<T: EvalIO> EvalIO for TvixIO<T> {
         self.actual.store_dir()
     }
 
-    fn import_path(&self, path: &Path) -> Result<PathBuf, io::Error> {
+    fn import_path(&self, path: &Path) -> io::Result<PathBuf> {
         let imported_path = self.actual.import_path(path)?;
         self.known_paths
             .borrow_mut()
@@ -49,7 +49,7 @@ impl<T: EvalIO> EvalIO for TvixIO<T> {
         Ok(imported_path)
     }
 
-    fn path_exists(&self, path: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, path: &Path) -> io::Result<bool> {
         if path.starts_with("/__corepkgs__") {
             return Ok(true);
         }
@@ -57,7 +57,7 @@ impl<T: EvalIO> EvalIO for TvixIO<T> {
         self.actual.path_exists(path)
     }
 
-    fn read_to_string(&self, path: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, path: &Path) -> io::Result<String> {
         // Bundled version of corepkgs/fetchurl.nix. The counterpart
         // of this happens in [crate::configure_nix_path], where the `nix_path`
         // of the evaluation has `nix=/__corepkgs__` added to it.
@@ -74,7 +74,7 @@ impl<T: EvalIO> EvalIO for TvixIO<T> {
         self.actual.read_to_string(path)
     }
 
-    fn read_dir(&self, path: &Path) -> Result<Vec<(bytes::Bytes, FileType)>, io::Error> {
+    fn read_dir(&self, path: &Path) -> io::Result<Vec<(bytes::Bytes, FileType)>> {
         self.actual.read_dir(path)
     }
 }
diff --git a/tvix/glue/src/tvix_store_io.rs b/tvix/glue/src/tvix_store_io.rs
index 3cd59d559aa0..9073aeeb3ebb 100644
--- a/tvix/glue/src/tvix_store_io.rs
+++ b/tvix/glue/src/tvix_store_io.rs
@@ -59,7 +59,7 @@ impl TvixStoreIO {
         &self,
         store_path: &StorePath,
         sub_path: &Path,
-    ) -> Result<Option<Node>, io::Error> {
+    ) -> io::Result<Option<Node>> {
         let path_info_service = self.path_info_service.clone();
         let task = self.tokio_handle.spawn({
             let digest = *store_path.digest();
@@ -102,7 +102,7 @@ impl TvixStoreIO {
 
 impl EvalIO for TvixStoreIO {
     #[instrument(skip(self), ret, err)]
-    fn path_exists(&self, path: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, path: &Path) -> io::Result<bool> {
         if let Ok((store_path, sub_path)) =
             StorePath::from_absolute_path_full(&path.to_string_lossy())
         {
@@ -123,7 +123,7 @@ impl EvalIO for TvixStoreIO {
     }
 
     #[instrument(skip(self), ret, err)]
-    fn read_to_string(&self, path: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, path: &Path) -> io::Result<String> {
         if let Ok((store_path, sub_path)) =
             StorePath::from_absolute_path_full(&path.to_string_lossy())
         {
@@ -195,7 +195,7 @@ impl EvalIO for TvixStoreIO {
     }
 
     #[instrument(skip(self), ret, err)]
-    fn read_dir(&self, path: &Path) -> Result<Vec<(bytes::Bytes, FileType)>, io::Error> {
+    fn read_dir(&self, path: &Path) -> io::Result<Vec<(bytes::Bytes, FileType)>> {
         if let Ok((store_path, sub_path)) =
             StorePath::from_absolute_path_full(&path.to_string_lossy())
         {
@@ -263,7 +263,7 @@ impl EvalIO for TvixStoreIO {
     }
 
     #[instrument(skip(self), ret, err)]
-    fn import_path(&self, path: &std::path::Path) -> Result<PathBuf, std::io::Error> {
+    fn import_path(&self, path: &std::path::Path) -> io::Result<PathBuf> {
         let p = path.to_owned();
         let blob_service = self.blob_service.clone();
         let directory_service = self.directory_service.clone();
@@ -307,7 +307,7 @@ async fn import_path_with_pathinfo(
     directory_service: Arc<dyn DirectoryService>,
     path_info_service: Arc<dyn PathInfoService>,
     path: &std::path::Path,
-) -> Result<PathInfo, io::Error> {
+) -> io::Result<PathInfo> {
     // Call [import::ingest_path], which will walk over the given path and return a root_node.
     let root_node = import::ingest_path(blob_service.clone(), directory_service.clone(), path)
         .await