diff options
Diffstat (limited to 'tvix/eval')
-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()) + } +} |