diff --git a/tvix/eval/src/value.rs b/tvix/eval/src/value/mod.rs similarity index 99% rename from tvix/eval/src/value.rs rename to tvix/eval/src/value/mod.rs index a4656b1b9..7052df3d4 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 000000000..c123fc3ee --- /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()) + } +}