diff options
author | Vincent Ambo <mail@tazj.in> | 2023-01-04T14·12+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-01-17T10·38+0000 |
commit | b9646ab40c3b7da488b3f3874fb0ce4ddafe6de4 (patch) | |
tree | 870dd31021047f454ee84937c4b09f830e3a2b4f /tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix | |
parent | 79e54f46ce1b532a115d3b53482216a4b22f9881 (diff) |
feat(tvix/eval): add builtins to builtins r/5674
This is a somewhat terrifying hack that enables us to support `builtins.builtins`, by running a "fake compilation" inside of a suspended native thunk that can resolve the weak pointer to the globals. With this implementation, the thunk at `builtins.builtins` actually resolves to the "real" `builtins` (verified with a new test). This is kind of ugly, and it's something users shouldn't use, but bubbling a warning out of this is difficult at the moment due to a little bit of trickery with how the spans in suspended native thunks work (they don't) (see b/237, b/238) Change-Id: I67d0e93246dd5b279c960aeda00402031aa12af3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7748 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix')
-rw-r--r-- | tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix b/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix new file mode 100644 index 000000000000..cfbcbbb7684d --- /dev/null +++ b/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix @@ -0,0 +1 @@ +[ builtins ] == [ builtins.builtins ] |