tvl-depot/tvix/eval/src
Ryan Lahfa 3e63d7be42 feat(tvix/eval): context-aware casting to strings
By default, we don't want contextful strings and we almost always want contextless strings.

To this end, we make taking a contextful string a very explicit operation under `to_contextful_str`
and we implement manually the `to_str` cast which requires a `if !s.has_context()` guard that
the macro cannot cover.

Change-Id: I7aae8e57a7d73e547e62b1edb0b1cc7e8c0c69b6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10425
Autosubmit: raitobezarius <tvl@lahfa.xyz>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2023-12-29 22:00:04 +00:00
..
builtins feat(tvix/eval): implement hasContext primop 2023-12-29 21:58:32 +00:00
compiler refactor(tvix/eval): let OpCoerceToString select the CoercionKind 2023-12-29 21:34:45 +00:00
tests fix(tvix/eval): propagate catchables through builtins.attrNames 2023-12-29 21:34:45 +00:00
value feat(tvix/eval): context-aware casting to strings 2023-12-29 22:00:04 +00:00
vm fix(tvix/eval): propagate catchables in string interpolations 2023-12-29 21:34:45 +00:00
chunk.rs docs(tvix/eval): fix some broken docstr references 2023-09-22 09:14:33 +00:00
errors.rs fix(tvix/eval): remove incorrect imports when coercing 2023-12-14 13:15:23 +00:00
io.rs refactor(tvix): use io::Result for EvalIO 2023-12-12 14:28:50 +00:00
lib.rs feat(tvix/eval): introduce NixContext 2023-12-29 21:57:30 +00:00
nix_search_path.rs fix(tvix/eval): fix b/281 by adding Value::Catchable 2023-09-24 21:54:10 +00:00
observer.rs refactor(tvix/eval/observer): cargo clippy 2023-08-20 21:51:04 +00:00
opcode.rs refactor(tvix/eval): let OpCoerceToString select the CoercionKind 2023-12-29 21:34:45 +00:00
pretty_ast.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
properties.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
source.rs refactor(tvix/eval): impl Default for SourceCode 2023-08-20 21:52:21 +00:00
spans.rs feat(tvix/eval): drop LightSpan::Delayed 2023-12-12 14:34:28 +00:00
systems.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
test_utils.rs test(tvix/eval): Add proof-of-concept test for Chunk 2022-09-18 17:55:06 +00:00
upvalues.rs fix(tvix/eval): remove impl PartialEq for Value 2022-11-04 00:30:13 +00:00
warnings.rs fix(tvix/eval): emit only warnings on shadowed outputs 2023-06-11 20:59:34 +00:00