From 25336fc47b02fe90bf489402ed84f8259aa80ca8 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Wed, 12 Oct 2022 21:58:42 -0700 Subject: refactor(tvix/eval): factor out all calls to canon_path Right now we're pretending that the Rust library path_clean does the same thing that cppnix's canonPath() does. This is not true. It's close enough for the test suite, but may come back to bite us. Let's create our own canon_path() function and call that in all the places where we intend to match the behavior of cppnix's canonPath(). That way when we fix this we can fix it once, in one place. Signed-off-by: Adam Joseph Change-Id: Ia6f9577f62f49ef352ff9cfa5efdf37c32d31b11 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6993 Tested-by: BuildkiteCI Reviewed-by: grfn --- tvix/eval/src/vm.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'tvix/eval/src/vm.rs') diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index c54c005b0041..4e92c152a8d5 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -3,8 +3,6 @@ use std::{cell::RefMut, path::PathBuf, rc::Rc}; -use path_clean::PathClean; - use crate::{ chunk::Chunk, errors::{Error, ErrorKind, EvalResult}, @@ -396,7 +394,7 @@ impl<'o> VM<'o> { &v.coerce_to_string(CoercionKind::Weak, self) .map_err(|ek| self.error(ek))?, ); - PathBuf::from(path).clean().into() + crate::value::canon_path(PathBuf::from(path)).into() } _ => fallible!(self, arithmetic_op!(&a, &b, +)), }; -- cgit 1.4.1