diff options
author | Vincent Ambo <mail@tazj.in> | 2022-08-08T14·09+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-08-13T11·50+0000 |
commit | d26c097d1b5f99ace10e60243280f4687cfc3cb9 (patch) | |
tree | efdad71e542e854e2e42a34e9bf6ad048c235223 | |
parent | fab5d23f143095fffcdcf7516e42594ce5c5e041 (diff) |
feat(tvix/eval): add module for string type implementation r/4421
Change-Id: I5e4465acc4a676c10d7374b14f7a09240202b466 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6085 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
-rw-r--r-- | tvix/eval/src/value/mod.rs (renamed from tvix/eval/src/value.rs) | 3 | ||||
-rw-r--r-- | tvix/eval/src/value/string.rs | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tvix/eval/src/value.rs b/tvix/eval/src/value/mod.rs index a4656b1b9cb7..7052df3d4e66 100644 --- a/tvix/eval/src/value.rs +++ b/tvix/eval/src/value/mod.rs @@ -1,10 +1,11 @@ //! This module implements the backing representation of runtime //! values in the Nix language. - use std::fmt::Display; use crate::errors::{Error, EvalResult}; +mod string; + #[derive(Clone, Copy, Debug, PartialEq)] pub enum Value { Null, diff --git a/tvix/eval/src/value/string.rs b/tvix/eval/src/value/string.rs new file mode 100644 index 000000000000..c123fc3ee132 --- /dev/null +++ b/tvix/eval/src/value/string.rs @@ -0,0 +1,13 @@ +use std::fmt::Display; + +/// This module implements Nix language strings and their different +/// backing implementations. + +#[derive(Debug, Hash, PartialEq)] +pub struct NixString(String); + +impl Display for NixString { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.0.as_str()) + } +} |