diff options
Diffstat (limited to 'tvix/eval/src/value/mod.rs')
-rw-r--r-- | tvix/eval/src/value/mod.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs index 095bc269d497..e8e27e5968de 100644 --- a/tvix/eval/src/value/mod.rs +++ b/tvix/eval/src/value/mod.rs @@ -47,7 +47,7 @@ pub enum Value { Bool(bool), Integer(i64), Float(f64), - String(Box<NixString>), + String(NixString), #[serde(skip)] Path(Box<PathBuf>), @@ -192,7 +192,7 @@ where T: Into<NixString>, { fn from(t: T) -> Self { - Self::String(Box::new(t.into())) + Self::String(t.into()) } } @@ -333,9 +333,7 @@ impl Value { let value = if let Some(v) = vals.pop() { v.force(co, span.clone()).await? } else { - return Ok(Value::String(Box::new(NixString::new_context_from( - context, result, - )))); + return Ok(Value::String(NixString::new_context_from(context, result))); }; let coerced: Result<BString, _> = match (value, kind) { // coercions that are always done @@ -700,7 +698,7 @@ impl Value { /// everytime you want a string. pub fn to_str(&self) -> Result<NixString, ErrorKind> { match self { - Value::String(s) if !s.has_context() => Ok((**s).clone()), + Value::String(s) if !s.has_context() => Ok((*s).clone()), Value::Thunk(thunk) => Self::to_str(&thunk.value()), other => Err(type_error("contextless strings", other)), } @@ -711,7 +709,7 @@ impl Value { NixString, "contextful string", Value::String(s), - (**s).clone() + (*s).clone() ); gen_cast!(to_path, Box<PathBuf>, "path", Value::Path(p), p.clone()); gen_cast!(to_attrs, Box<NixAttrs>, "set", Value::Attrs(a), a.clone()); |