From c3b13416b02d8e0e68330408b107d3aad29e3a3f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 24 Aug 2022 18:31:43 +0300 Subject: refactor(tvix/eval): add NixAttrs::contains function This avoids copying around the value more than needed. Change-Id: I35949d16dad7fb8f76e0f641eaccf48322144777 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6263 Tested-by: BuildkiteCI Reviewed-by: sterni --- tvix/eval/src/vm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tvix/eval/src/vm.rs') diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index b6d5a9838c..1e39792cd5 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -242,7 +242,7 @@ impl VM { OpCode::OpAttrsIsSet => { let key = self.pop().to_string()?; let result = match self.pop() { - Value::Attrs(attrs) => attrs.select(key.as_str()).is_some(), + Value::Attrs(attrs) => attrs.contains(key.as_str()), // Nix allows use of `?` on non-set types, but // always returns false in those cases. -- cgit 1.4.1