From 278bccc1ea3542610012177171234ad1c3c44dcf Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sat, 8 Oct 2022 13:33:33 -0400 Subject: 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 Reviewed-by: sterni Reviewed-by: tazjin Tested-by: BuildkiteCI --- tvix/eval/src/vm.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tvix/eval/src/vm.rs') diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index d616b9ce1c5c..9d28c7be1b93 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -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(()) } -- cgit 1.4.1