about summary refs log tree commit diff
path: root/tvix/glue/src/builtins
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/glue/src/builtins')
-rw-r--r--tvix/glue/src/builtins/derivation.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/tvix/glue/src/builtins/derivation.rs b/tvix/glue/src/builtins/derivation.rs
index 078cb0e1ffd1..1a8d18943ebe 100644
--- a/tvix/glue/src/builtins/derivation.rs
+++ b/tvix/glue/src/builtins/derivation.rs
@@ -372,14 +372,13 @@ pub(crate) mod derivation_builtins {
                             return Ok(val);
                         }
 
-                        // TODO(raitobezarius): context for json values?
-                        // input_context.mimic(&val);
-
-                        let val_json = match val.into_json(&co).await? {
+                        let (val_json, mut context) = match val.into_contextful_json(&co).await? {
                             Ok(v) => v,
                             Err(cek) => return Ok(Value::from(cek)),
                         };
 
+                        input_context = input_context.join(&mut context);
+
                         // No need to check for dups, we only iterate over every attribute name once
                         structured_attrs.insert(arg_name.to_owned(), val_json);
                     } else {