refactor(tvix/eval): Encapsulate Value::Attrs construction
Factor out the construction of Value::Attrs (including the Rc) into a new `attrs` constructor function, to abstract away the presence of the Rc itself. Change-Id: I42fd4c3841e1db368db999ddd651277ff995f025 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6892 Autosubmit: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
parent
f6bcd11cad
commit
278bccc1ea
4 changed files with 13 additions and 6 deletions
|
|
@ -374,7 +374,7 @@ impl<'o> VM<'o> {
|
|||
let rhs = unwrap_or_clone_rc(fallible!(self, self.pop().to_attrs()));
|
||||
let lhs = unwrap_or_clone_rc(fallible!(self, self.pop().to_attrs()));
|
||||
|
||||
self.push(Value::Attrs(Rc::new(lhs.update(rhs))))
|
||||
self.push(Value::attrs(lhs.update(rhs)))
|
||||
}
|
||||
|
||||
OpCode::OpAttrsSelect => {
|
||||
|
|
@ -641,7 +641,7 @@ impl<'o> VM<'o> {
|
|||
NixAttrs::construct(count, self.stack.split_off(self.stack.len() - count * 2))
|
||||
);
|
||||
|
||||
self.push(Value::Attrs(Rc::new(attrs)));
|
||||
self.push(Value::attrs(attrs));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue