feat(tvix/eval): Implement Display for io::FileType

In newer versions of Nix there's a builtins.readFileType builtin, we
should try to avoid duplicating the enum -> string conversion by
implementating Display before we implement builtins.readFileType.

Change-Id: I579e95949a76eb33d2e7bda0000ed84859df765e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12129
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
This commit is contained in:
Ilan Joselevich 2024-08-04 00:48:20 +03:00 committed by clbot
parent 591c5ffe53
commit c554c1c1c0
2 changed files with 14 additions and 7 deletions

View file

@ -9,7 +9,6 @@ use std::{
use crate::{
self as tvix_eval,
errors::ErrorKind,
io::FileType,
value::NixAttrs,
vm::generators::{self, GenCo},
NixString, Value,
@ -60,12 +59,7 @@ mod impure_builtins {
NixString::from(
String::from_utf8(name.to_vec()).expect("parsing file name as string"),
),
Value::from(match ftype {
FileType::Directory => "directory",
FileType::Regular => "regular",
FileType::Symlink => "symlink",
FileType::Unknown => "unknown",
}),
Value::from(ftype.to_string()),
)
});