refactor(tvix/eval): directly return builtin tuples from macro
All invocations of the builtin macro had to previously filter through the `builtin_tuple` function, but it's more sensible to directly return these from the macro. Change-Id: I45600ba84d56c9528d3e92570461c319eea595ce Reviewed-on: https://cl.tvl.fyi/c/depot/+/7825 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
972c867b36
commit
f12f938166
5 changed files with 23 additions and 34 deletions
|
|
@ -14,7 +14,7 @@ use crate::arithmetic_op;
|
|||
use crate::warnings::WarningKind;
|
||||
use crate::{
|
||||
errors::{ErrorKind, EvalResult},
|
||||
value::{Builtin, CoercionKind, NixAttrs, NixList, NixString, Value},
|
||||
value::{CoercionKind, NixAttrs, NixList, NixString, Value},
|
||||
vm::VM,
|
||||
};
|
||||
|
||||
|
|
@ -968,17 +968,10 @@ mod pure_builtins {
|
|||
}
|
||||
}
|
||||
|
||||
pub(crate) fn builtin_tuple(builtin: Builtin) -> (&'static str, Value) {
|
||||
(builtin.name(), Value::Builtin(builtin))
|
||||
}
|
||||
|
||||
/// The set of standard pure builtins in Nix, mostly concerned with
|
||||
/// data structure manipulation (string, attrs, list, etc. functions).
|
||||
pub fn pure_builtins() -> Vec<(&'static str, Value)> {
|
||||
let mut result = pure_builtins::builtins()
|
||||
.into_iter()
|
||||
.map(builtin_tuple)
|
||||
.collect::<Vec<_>>();
|
||||
let mut result = pure_builtins::builtins();
|
||||
|
||||
// Pure-value builtins
|
||||
result.push(("nixVersion", Value::String("2.3-compat-tvix-0.1".into())));
|
||||
|
|
@ -1038,7 +1031,4 @@ mod placeholder_builtins {
|
|||
|
||||
pub fn placeholders() -> Vec<(&'static str, Value)> {
|
||||
placeholder_builtins::builtins()
|
||||
.into_iter()
|
||||
.map(builtin_tuple)
|
||||
.collect()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue