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:
parent
52b7a76268
commit
43d04d9b98
5 changed files with 16 additions and 13 deletions
|
|
@ -42,7 +42,7 @@ pub const CURRENT_PLATFORM: &str = env!("TVIX_CURRENT_SYSTEM");
|
|||
pub async fn coerce_value_to_path(co: &GenCo, v: Value) -> Result<PathBuf, ErrorKind> {
|
||||
let value = generators::request_force(co, v).await;
|
||||
if let Value::Path(p) = value {
|
||||
return Ok(p);
|
||||
return Ok(*p);
|
||||
}
|
||||
|
||||
let vs = generators::request_string_coerce(co, value, CoercionKind::Weak).await;
|
||||
|
|
@ -246,7 +246,7 @@ mod pure_builtins {
|
|||
})
|
||||
.unwrap_or(".");
|
||||
if is_path {
|
||||
Ok(Value::Path(result.into()))
|
||||
Ok(Value::Path(Box::new(result.into())))
|
||||
} else {
|
||||
Ok(result.into())
|
||||
}
|
||||
|
|
@ -1038,7 +1038,7 @@ mod placeholder_builtins {
|
|||
let res = [
|
||||
("line", 42.into()),
|
||||
("col", 42.into()),
|
||||
("file", Value::Path("/deep/thought".into())),
|
||||
("file", Value::Path(Box::new("/deep/thought".into()))),
|
||||
];
|
||||
Ok(Value::attrs(NixAttrs::from_iter(res.into_iter())))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue