feat(tvix/value): add runtime representation of simple lists

There might be more logic in the future to encapsulate different
backing implementations of lists as well.

Change-Id: Ib7064fab48bf88b0c8913b0ecfa2108177c7c9fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6093
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2022-08-09 17:08:10 +03:00 committed by clbot
parent 6f13c16f28
commit c67747cbe1
2 changed files with 19 additions and 0 deletions

View file

@ -0,0 +1,14 @@
/// This module implements Nix lists.
use std::fmt::Display;
use super::Value;
#[derive(Clone, Debug, PartialEq)]
pub struct NixList(pub Vec<Value>);
impl Display for NixList {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
// TODO(tazjin): format lists properly
f.write_fmt(format_args!("<list({})>", self.0.len()))
}
}