about summary refs log tree commit diff
path: root/tvix/eval/src/value/thunk.rs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2023-01-04T14·12+0300
committertazjin <tazjin@tvl.su>2023-01-17T10·38+0000
commitb9646ab40c3b7da488b3f3874fb0ce4ddafe6de4 (patch)
tree870dd31021047f454ee84937c4b09f830e3a2b4f /tvix/eval/src/value/thunk.rs
parent79e54f46ce1b532a115d3b53482216a4b22f9881 (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/value/thunk.rs')
0 files changed, 0 insertions, 0 deletions