refactor(tvix/castore): add PathComponent type for checked components
This encodes a verified component on the type level. Internally, it contains a bytes::Bytes. The castore Path/PathBuf component() and file_name() methods now return this type, the old ones returning bytes were renamed to component_bytes() and component_file_name() respectively. We can drop the directory_reject_invalid_name test - it's not possible anymore to pass an invalid name to Directories::add. Invalid names in the Directory proto are still being tested to be rejected in the validate_invalid_names tests. Change-Id: Ide4d16415dfd50b7e2d7e0c36d42a3bbeeb9b6c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12217 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
This commit is contained in:
parent
8ea7d2b60e
commit
5ec93b57e6
25 changed files with 282 additions and 165 deletions
|
|
@ -1,6 +1,8 @@
|
|||
# prevents a false-positive lint on our types containing bytes::Bytes
|
||||
# https://rust-lang.github.io/rust-clippy/master/index.html#/mutable_key_type
|
||||
ignore-interior-mutability = [
|
||||
# make sure to specify the originating type name, not re-exports!
|
||||
"bytes::Bytes",
|
||||
"tvix_castore::digests::B3Digest"
|
||||
"tvix_castore::digests::B3Digest",
|
||||
"tvix_castore::path::component::PathComponent"
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue