feat(tvix/eval): Add a proc-macro for defining builtins

Add a single new proc macro to a new proc-macro crate,
`tvix-eval-proc-macros` for defining an inline module containing nix
builtins, and automatically generating a function within that module
which returns a list of those builtins as `tvix_eval::value::Builtin`.

Change-Id: Ie4afae438914d2af93d15637151a49b4c68aa352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7198
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: Adam Joseph <adam@westernsemico.com>
Tested-by: BuildkiteCI
This commit is contained in:
Griffin Smith 2022-11-05 19:50:31 -04:00 committed by grfn
parent cf82a545eb
commit 645d0c06e5
9 changed files with 1133 additions and 3 deletions

10
tvix/eval/Cargo.lock generated
View file

@ -1230,6 +1230,16 @@ dependencies = [
"tempdir",
"test-generator",
"test-strategy",
"tvix-eval-builtin-macros",
]
[[package]]
name = "tvix-eval-builtin-macros"
version = "0.0.1"
dependencies = [
"proc-macro2 1.0.43",
"quote 1.0.21",
"syn 1.0.99",
]
[[package]]