tvl-depot/tvix/eval/src/value
edef 49750fa1e7 fix(tvix/eval): disallow empty but allocated string contexts
Both `Some(NixContext::new())` and `None` represent empty contexts,
but the former trips up `NixString::has_context`, and seems likely
to trip up other things.

We could hide the difference in the accessors, but we don't really
*want* the distinction to exist, since heap-allocating a null value
is pretty much always a mistake.

Change-Id: Ie84d26fb0d4b59e68354891ba13bde3bae40ab6e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11712
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-05-25 08:42:32 +00:00
..
attrs fix(tvix/eval): Propagate catchables in NixAttrs::construct 2024-02-09 19:11:09 +00:00
arbitrary.rs feat(tvix/eval): Store string context alongside data 2024-02-21 20:53:04 +00:00
attrs.rs feat(tvix/eval): Store string context alongside data 2024-02-21 20:53:04 +00:00
builtin.rs docs(tvix/eval): fix some broken docstr references 2023-09-22 09:14:33 +00:00
function.rs feat(tvix/eval): track pattern binding names 2024-01-25 11:37:35 +00:00
json.rs feat(tvix/eval): rm NixContext::join, add take_context & IntoIterator 2024-05-23 14:50:38 +00:00
list.rs fix(tvix/eval): Inline List.sort_by, and propagate errors 2024-02-08 22:50:27 +00:00
mod.rs feat(tvix/eval): rm NixContext::join, add take_context & IntoIterator 2024-05-23 14:50:38 +00:00
path.rs refactor(tvix/eval): factor out all calls to canon_path 2022-10-13 09:07:47 +00:00
string.rs fix(tvix/eval): disallow empty but allocated string contexts 2024-05-25 08:42:32 +00:00
thunk.rs feat(tvix/eval): nonrecursive deep_force() 2023-12-12 14:36:02 +00:00