feat(tvix/eval): rm NixContext::join, add take_context & IntoIterator
In places where we want to extend context with that from another NixString, use take_context() to split it off, then call .extend(), making use of IntoIterator to avoid a bunch of clones. Change-Id: I2460141a3ed776c64c36132b2203b6a1d710b922 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11705 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu>
This commit is contained in:
parent
ec8d79f3db
commit
649a862ae1
6 changed files with 57 additions and 60 deletions
|
|
@ -372,12 +372,12 @@ pub(crate) mod derivation_builtins {
|
|||
return Ok(val);
|
||||
}
|
||||
|
||||
let (val_json, mut context) = match val.into_contextful_json(&co).await? {
|
||||
let (val_json, 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);
|
||||
input_context.extend(context.into_iter());
|
||||
|
||||
// No need to check for dups, we only iterate over every attribute name once
|
||||
structured_attrs.insert(arg_name.to_owned(), val_json);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue