feat(tvix/eval): Continue removing leakage of BTreeMap.
Fixes b/212. Based on feedback in https://cl.tvl.fyi/c/depot/+/7492, all uses of `NixAttrs::from_map` have been removed. Only `from_iter` and `from_kv` remain. Change-Id: I52e25f73018c2aa1843197427516b7a852503e2c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7500 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: IslandUsurper <lyle@menteeth.us>
This commit is contained in:
parent
9fed61297a
commit
f4e17caae8
4 changed files with 40 additions and 52 deletions
|
|
@ -40,31 +40,29 @@ mod impure_builtins {
|
|||
error: Rc::new(err),
|
||||
};
|
||||
|
||||
let mut res = BTreeMap::new();
|
||||
for entry in path.read_dir().map_err(mk_err)? {
|
||||
let entry = entry.map_err(mk_err)?;
|
||||
let file_type = entry
|
||||
.metadata()
|
||||
.map_err(|err| ErrorKind::IO {
|
||||
path: Some(entry.path()),
|
||||
error: Rc::new(err),
|
||||
})?
|
||||
.file_type();
|
||||
let val = if file_type.is_dir() {
|
||||
"directory"
|
||||
} else if file_type.is_file() {
|
||||
"regular"
|
||||
} else if file_type.is_symlink() {
|
||||
"symlink"
|
||||
} else {
|
||||
"unknown"
|
||||
};
|
||||
res.insert(
|
||||
entry.file_name().to_string_lossy().as_ref().into(),
|
||||
val.into(),
|
||||
);
|
||||
}
|
||||
Ok(Value::attrs(NixAttrs::from_map(res)))
|
||||
let res = path.read_dir().map_err(mk_err)?.into_iter().flat_map(
|
||||
|entry| -> Result<(String, &str), ErrorKind> {
|
||||
let entry = entry.map_err(mk_err)?;
|
||||
let file_type = entry
|
||||
.metadata()
|
||||
.map_err(|err| ErrorKind::IO {
|
||||
path: Some(entry.path()),
|
||||
error: Rc::new(err),
|
||||
})?
|
||||
.file_type();
|
||||
let val = if file_type.is_dir() {
|
||||
"directory"
|
||||
} else if file_type.is_file() {
|
||||
"regular"
|
||||
} else if file_type.is_symlink() {
|
||||
"symlink"
|
||||
} else {
|
||||
"unknown"
|
||||
};
|
||||
Ok((entry.file_name().to_string_lossy().to_string(), val))
|
||||
},
|
||||
);
|
||||
Ok(Value::attrs(NixAttrs::from_iter(res)))
|
||||
}
|
||||
|
||||
#[builtin("readFile")]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue