about summary refs log tree commit diff
path: root/tvix/eval
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-05-25T05·34+0300
committerclbot <clbot@tvl.fyi>2023-05-25T11·11+0000
commitd25962b9a4d175faaf4ea9e08062036c0a3e0236 (patch)
tree8803d9ded12f0f4caf607e06e7b1d7f1b7d3bd0b /tvix/eval
parentea48481eb39ded96fbaeef5d8e25771197eedda2 (diff)
refactor(tvix/eval): stop borrowing &mut self r/6202
This does undo cl/8571.

Change-Id: Ib14b4e7404f906e346304b6113860ae811afc94a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8631
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/eval')
-rw-r--r--tvix/eval/src/io.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/tvix/eval/src/io.rs b/tvix/eval/src/io.rs
index f14da723db90..708c36153c47 100644
--- a/tvix/eval/src/io.rs
+++ b/tvix/eval/src/io.rs
@@ -33,14 +33,14 @@ pub enum FileType {
 /// Defines how filesystem interaction occurs inside of tvix-eval.
 pub trait EvalIO {
     /// Verify whether the file at the specified path exists.
-    fn path_exists(&mut self, path: &Path) -> Result<bool, io::Error>;
+    fn path_exists(&self, path: &Path) -> Result<bool, io::Error>;
 
     /// Read the file at the specified path to a string.
-    fn read_to_string(&mut self, path: &Path) -> Result<String, io::Error>;
+    fn read_to_string(&self, path: &Path) -> Result<String, io::Error>;
 
     /// Read the directory at the specified path and return the names
     /// of its entries associated with their [`FileType`].
-    fn read_dir(&mut self, path: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error>;
+    fn read_dir(&self, path: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error>;
 
     /// Import the given path. What this means depends on the
     /// implementation, for example for a `std::io`-based
@@ -49,7 +49,7 @@ pub trait EvalIO {
     ///
     /// This is primarily used in the context of things like coercing
     /// a local path to a string, or builtins like `path`.
-    fn import_path(&mut self, path: &Path) -> Result<PathBuf, io::Error>;
+    fn import_path(&self, path: &Path) -> Result<PathBuf, io::Error>;
 
     /// Returns the root of the store directory, if such a thing
     /// exists in the evaluation context.
@@ -65,15 +65,15 @@ pub struct StdIO;
 
 #[cfg(feature = "impure")]
 impl EvalIO for StdIO {
-    fn path_exists(&mut self, path: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, path: &Path) -> Result<bool, io::Error> {
         path.try_exists()
     }
 
-    fn read_to_string(&mut self, path: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, path: &Path) -> Result<String, io::Error> {
         std::fs::read_to_string(&path)
     }
 
-    fn read_dir(&mut self, path: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error> {
+    fn read_dir(&self, path: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error> {
         let mut result = vec![];
 
         for entry in path.read_dir()? {
@@ -98,7 +98,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(&mut self, path: &Path) -> Result<PathBuf, io::Error> {
+    fn import_path(&self, path: &Path) -> Result<PathBuf, io::Error> {
         Ok(path.to_path_buf())
     }
 }
@@ -108,28 +108,28 @@ impl EvalIO for StdIO {
 pub struct DummyIO;
 
 impl EvalIO for DummyIO {
-    fn path_exists(&mut self, _: &Path) -> Result<bool, io::Error> {
+    fn path_exists(&self, _: &Path) -> Result<bool, io::Error> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn read_to_string(&mut self, _: &Path) -> Result<String, io::Error> {
+    fn read_to_string(&self, _: &Path) -> Result<String, io::Error> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn read_dir(&mut self, _: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error> {
+    fn read_dir(&self, _: &Path) -> Result<Vec<(SmolStr, FileType)>, io::Error> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",
         ))
     }
 
-    fn import_path(&mut self, _: &Path) -> Result<PathBuf, io::Error> {
+    fn import_path(&self, _: &Path) -> Result<PathBuf, io::Error> {
         Err(io::Error::new(
             io::ErrorKind::Unsupported,
             "I/O methods are not implemented in DummyIO",