about summary refs log tree commit diff
path: root/third_party
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-09-02T21·26+0300
committertazjin <tazjin@tvl.su>2022-09-08T13·36+0000
commit9973ddfcba57e1a2d1a72351814210ab652bd860 (patch)
tree824a7acc30ee414a93fa41896764ae269319d229 /third_party
parent7bc6e5984dfd1f8717e28bbbcb97e078b6039558 (diff)
refactor(tvix/eval): refactor locals to use an enum for phantoms r/4754
Instead of using sentinel values and an additional bool, this tracks
the identifier of a local as an enum that is either a statically known
name, or a phantom.

To make this work correctly some more locals related logic has been
encapsulated in the `scope` module, which is a good thing (that's the
goal).

Phantom values are now not initialised by default, but the only
current call site of phantoms (`with` expression compilation) performs
the initialisation right away.

This commit changes no actual functionality right now, but paves the
way for fixing an issue related to `let` bodies.

Change-Id: I679f93a59a4daeacfe40f4012263cfb7bc05034e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6421
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Diffstat (limited to 'third_party')
0 files changed, 0 insertions, 0 deletions