From 43d04d9b985855cb431024d9895d52ea52fd4180 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 27 Feb 2023 13:50:16 +0300 Subject: refactor(tvix/eval): box PathBuf This shaves another 8 bytes off Value. How did that type get so big?! Change-Id: I65e9b59a1636bd57e3cc4aec5fea16887070b832 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8153 Reviewed-by: raitobezarius Tested-by: BuildkiteCI --- tvix/eval/src/value/arbitrary.rs | 2 +- tvix/eval/src/value/mod.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'tvix/eval/src/value') diff --git a/tvix/eval/src/value/arbitrary.rs b/tvix/eval/src/value/arbitrary.rs index b00fdbd21ddf..bf53f4fcb28a 100644 --- a/tvix/eval/src/value/arbitrary.rs +++ b/tvix/eval/src/value/arbitrary.rs @@ -92,7 +92,7 @@ fn leaf_value() -> impl Strategy { any::().prop_map(Integer), any::().prop_map(Float), any::().prop_map(String), - any::().prop_map(|s| Path(s.into())), + any::().prop_map(|s| Path(Box::new(s.into()))), ] } diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs index 81e537313227..4acdd135f4bb 100644 --- a/tvix/eval/src/value/mod.rs +++ b/tvix/eval/src/value/mod.rs @@ -49,7 +49,7 @@ pub enum Value { String(NixString), #[serde(skip)] - Path(PathBuf), + Path(Box), Attrs(Box), List(NixList), @@ -75,7 +75,7 @@ pub enum Value { #[serde(skip)] DeferredUpvalue(StackIdx), #[serde(skip)] - UnresolvedPath(PathBuf), + UnresolvedPath(Box), } lazy_static! { @@ -256,7 +256,7 @@ impl Value { // Unicode. See also b/189. (Value::Path(p), _) => { // TODO(tazjin): there are cases where coerce_to_string does not import - let imported = generators::request_path_import(&co, p).await; + let imported = generators::request_path_import(&co, *p).await; Ok(imported.to_string_lossy().into_owned().into()) } @@ -800,7 +800,7 @@ impl From for Value { impl From for Value { fn from(path: PathBuf) -> Self { - Self::Path(path) + Self::Path(Box::new(path)) } } -- cgit 1.4.1