fix(tvix/castore): use bstr for formatting names in errors
Much friendlier than either Base64 or raw byte slices. Change-Id: I9b4cdd57c83ddc76c0be8103da4320207657a72b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9622 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
baae5ce473
commit
930edb69d7
4 changed files with 10 additions and 4 deletions
1
tvix/Cargo.lock
generated
1
tvix/Cargo.lock
generated
|
@ -2713,6 +2713,7 @@ version = "0.1.0"
|
|||
dependencies = [
|
||||
"async-stream",
|
||||
"blake3",
|
||||
"bstr",
|
||||
"bytes",
|
||||
"data-encoding",
|
||||
"futures",
|
||||
|
|
|
@ -8116,6 +8116,10 @@ rec {
|
|||
packageId = "blake3";
|
||||
features = [ "rayon" "std" ];
|
||||
}
|
||||
{
|
||||
name = "bstr";
|
||||
packageId = "bstr";
|
||||
}
|
||||
{
|
||||
name = "bytes";
|
||||
packageId = "bytes";
|
||||
|
|
|
@ -22,6 +22,7 @@ tower = "0.4.13"
|
|||
tracing = "0.1.37"
|
||||
url = "2.4.0"
|
||||
walkdir = "2.4.0"
|
||||
bstr = "1.6.0"
|
||||
|
||||
[dependencies.tonic-reflection]
|
||||
optional = true
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#![allow(clippy::derive_partial_eq_without_eq, non_snake_case)]
|
||||
// https://github.com/hyperium/tonic/issues/1056
|
||||
use data_encoding::BASE64;
|
||||
use bstr::ByteSlice;
|
||||
use std::{collections::HashSet, iter::Peekable};
|
||||
use thiserror::Error;
|
||||
|
||||
|
@ -29,13 +29,13 @@ mod tests;
|
|||
#[derive(Debug, PartialEq, Eq, Error)]
|
||||
pub enum ValidateDirectoryError {
|
||||
/// Elements are not in sorted order
|
||||
#[error("{} is not sorted", std::str::from_utf8(.0).unwrap_or(&BASE64.encode(.0)))]
|
||||
#[error("{:?} is not sorted", .0.as_bstr())]
|
||||
WrongSorting(Vec<u8>),
|
||||
/// Multiple elements with the same name encountered
|
||||
#[error("{0:?} is a duplicate name")]
|
||||
#[error("{:?} is a duplicate name", .0.as_bstr())]
|
||||
DuplicateName(Vec<u8>),
|
||||
/// Invalid name encountered
|
||||
#[error("Invalid name in {0:?}")]
|
||||
#[error("Invalid name in {:?}", .0.as_bstr())]
|
||||
InvalidName(Vec<u8>),
|
||||
/// Invalid digest length encountered
|
||||
#[error("Invalid Digest length: {0}")]
|
||||
|
|
Loading…
Reference in a new issue