From 5f52c97a3abe84d155e030891dc258ff25b3c2a7 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Fri, 25 Nov 2022 02:18:16 -0800 Subject: feat(tvix/eval): mock builtins.unsafeGetAttrPos Signed-off-by: Adam Joseph Change-Id: I9d986dd8c0aad4e67df01bda13cee443e0fc0d20 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7415 Reviewed-by: tazjin Tested-by: BuildkiteCI --- tvix/eval/src/builtins/mod.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tvix/eval/src/builtins/mod.rs b/tvix/eval/src/builtins/mod.rs index 7c4f40479b..b2344a422e 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/tvix/eval/src/builtins/mod.rs @@ -981,6 +981,30 @@ fn placeholders() -> Vec { Ok(args.pop().unwrap()) }, ), + Builtin::new( + "unsafeGetAttrPos", + &[ + BuiltinArgument { + strict: true, + name: "name", + }, + BuiltinArgument { + strict: true, + name: "attrset", + }, + ], + None, + |mut args: Vec, vm: &mut VM| { + vm.emit_warning(WarningKind::NotImplemented("builtins.unsafeGetAttrsPos")); + let _attrset = args.pop().unwrap().to_attrs(); + let _name = args.pop().unwrap().to_str(); + let mut res: BTreeMap = BTreeMap::new(); + res.insert("line".into(), 42.into()); + res.insert("col".into(), 42.into()); + res.insert("file".into(), Value::Path("/deep/thought".into())); + Ok(Value::attrs(NixAttrs::from_map(res))) + }, + ), Builtin::new( "derivation", &[BuiltinArgument { -- cgit 1.4.1