jj/lib
Yuya Nishihara f672c92509 diff: add trait for bytes comparison
This could be implemented as a newtype `Wrapper<'a>(&'a [u8])`, but a lifetime
of the wrap function couldn't be specified correctly:

  fn diff(left: &[u8], right: &[u8], wrap_fn: F, ..)
  where
    F: for<'a> Fn(&'a [u8]) -> W<'a>, // F::Output<'a> can't be specified
    W: Copy + Eq + Hash

If the wrapper were of `&Wrapper([u8])` type, `Fn(&[u8]) -> &W` works. However,
it means we can no longer set comparison parameter (such as Regex) dynamically.

Another idea is to add some filter function of `Fn(&[u8]) -> Cow<'_, [u8]>`
type, but I don't think we would want to pay the allocation cost in
hashing/comparison code. `Fn(&[u8]) -> impl Iterator<Item = &[u8]>` might work,
but it would be equally complex.
2024-10-05 08:12:30 +09:00
..
benches style: add semicolon at the end of expressions used as statements 2024-10-04 22:29:13 +02:00
gen-protos cargo: inherit lints configuration from workspace 2024-10-04 22:29:13 +02:00
proc-macros style: remove useless uses of .iter() 2024-10-04 22:29:13 +02:00
src diff: add trait for bytes comparison 2024-10-05 08:12:30 +09:00
tests style: avoid using .to_owned()/.to_vec() on owned objects 2024-10-04 22:29:13 +02:00
testutils cargo: inherit lints configuration from workspace 2024-10-04 22:29:13 +02:00
Cargo.toml cargo: add hashbrown dependency 2024-10-05 08:12:30 +09:00
LICENSE