tvl-depot/tvix/eval/src
Florian Klink 72e82ffcb1 refactor(tvix/store): use bytes for node names and symlink targets
Some paths might use names that are not valid UTF-8. We should be able
to represent them.

We don't actually need to touch the PathInfo structures, as they need to
represent StorePaths, which come with their own harder restrictions,
which can't encode non-UTF8 data.

While this doesn't change any of the wire format of the gRPC messages,
it does however change the interface of tvix_eval::EvalIO - its
read_dir() method does now return a list of Vec<u8>, rather than
SmolStr. Maybe this should be OsString instead?

Change-Id: I821016d9a58ec441ee081b0b9f01c9240723af0b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8974
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2023-07-21 19:01:49 +00:00
..
builtins refactor(tvix/store): use bytes for node names and symlink targets 2023-07-21 19:01:49 +00:00
compiler fix(tvix/eval): use realpaths for import cache 2023-06-21 07:48:52 +00:00
tests docs(tvix): document when pointer equality is preserved in C++ Nix 2023-07-11 16:17:42 +00:00
value fix(tvix/eval): use byte, not codepoint index for slicing in escape 2023-07-11 16:11:40 +00:00
vm refactor(tvix/store): use bytes for node names and symlink targets 2023-07-21 19:01:49 +00:00
chunk.rs feat(tvix/eval): implement Chunk::extend method 2023-05-25 11:28:13 +00:00
errors.rs fix(tvix/eval): allow negative substring lengths 2023-06-12 08:38:49 +00:00
io.rs refactor(tvix/store): use bytes for node names and symlink targets 2023-07-21 19:01:49 +00:00
lib.rs feat(tvix/eval): add Evaluation::strict to toggle top-level deepseq 2023-03-22 13:44:20 +00:00
nix_search_path.rs refactor(tvix/eval): use &Path instead of PathBuf 2023-05-22 09:43:33 +00:00
observer.rs chore(tvix): Generator{Request|Response} -> VM{Request|Response} 2023-03-14 09:22:22 +00:00
opcode.rs fix(tvix/eval): only finalise formal arguments if defaulting 2023-06-20 10:07:44 +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 chore(tvix/eval): implement std::error::Error for tvix_eval::Error 2023-01-02 22:24:43 +00:00
spans.rs refactor(tvix/eval): implement From<Span> for LightSpan 2023-03-04 15:18:37 +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