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 <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2023-02-27 13:50:16 +03:00 committed by tazjin
parent 52b7a76268
commit 43d04d9b98
5 changed files with 16 additions and 13 deletions

View file

@ -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))
}
}