diff options
author | Vincent Ambo <mail@tazj.in> | 2023-02-27T10·50+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-03-13T20·30+0000 |
commit | 43d04d9b985855cb431024d9895d52ea52fd4180 (patch) | |
tree | dbf61bc1bff75a9163050ac2e8e97bb4b582c47b /tvix/eval/src/value | |
parent | 52b7a762681fb04ae9387c2f1951a36bf83ebc79 (diff) |
refactor(tvix/eval): box PathBuf r/5969
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 <tvl@lahfa.xyz> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/value')
-rw-r--r-- | tvix/eval/src/value/arbitrary.rs | 2 | ||||
-rw-r--r-- | tvix/eval/src/value/mod.rs | 8 |
2 files changed, 5 insertions, 5 deletions
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<Value = Value> { any::<i64>().prop_map(Integer), any::<f64>().prop_map(Float), any::<NixString>().prop_map(String), - any::<OsString>().prop_map(|s| Path(s.into())), + any::<OsString>().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<PathBuf>), Attrs(Box<NixAttrs>), List(NixList), @@ -75,7 +75,7 @@ pub enum Value { #[serde(skip)] DeferredUpvalue(StackIdx), #[serde(skip)] - UnresolvedPath(PathBuf), + UnresolvedPath(Box<PathBuf>), } 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<f64> for Value { impl From<PathBuf> for Value { fn from(path: PathBuf) -> Self { - Self::Path(path) + Self::Path(Box::new(path)) } } |