diff --git a/tvix/eval/src/value/json.rs b/tvix/eval/src/value/json.rs index c2f8b2c2b..5c627540d 100644 --- a/tvix/eval/src/value/json.rs +++ b/tvix/eval/src/value/json.rs @@ -111,7 +111,7 @@ impl Value { pub(crate) async fn into_json_generator(self, co: GenCo) -> Result { match self.into_json(&co).await? { Err(cek) => Ok(Value::Catchable(cek)), - Ok(json) => Ok(Value::Json(json)), + Ok(json) => Ok(Value::Json(Box::new(json))), } } } diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs index e0c5a2f51..043788da4 100644 --- a/tvix/eval/src/value/mod.rs +++ b/tvix/eval/src/value/mod.rs @@ -78,7 +78,7 @@ pub enum Value { #[serde(skip)] UnresolvedPath(Box), #[serde(skip)] - Json(serde_json::Value), + Json(Box), #[serde(skip)] FinaliseRequest(bool), diff --git a/tvix/eval/src/vm/generators.rs b/tvix/eval/src/vm/generators.rs index e5468fb06..cffe36e60 100644 --- a/tvix/eval/src/vm/generators.rs +++ b/tvix/eval/src/vm/generators.rs @@ -775,7 +775,7 @@ pub(crate) async fn request_to_json( value: Value, ) -> Result { match co.yield_(VMRequest::ToJson(value)).await { - VMResponse::Value(Value::Json(json)) => Ok(json), + VMResponse::Value(Value::Json(json)) => Ok(*json), VMResponse::Value(Value::Catchable(cek)) => Err(cek), msg => panic!( "Tvix bug: VM responded with incorrect generator message: {}",