diff --git a/tools/kv_typed/src/as_bytes.rs b/tools/kv_typed/src/as_bytes.rs index 4e79a4f8006eb12c81c00d30e95049d08b7a1196..4e8cebea2a66c091964ad8024e3fec0c5fc52191 100644 --- a/tools/kv_typed/src/as_bytes.rs +++ b/tools/kv_typed/src/as_bytes.rs @@ -67,11 +67,11 @@ mod tests { #[test] fn test_btreeset_as_bytes() { - BTreeSet::<u64>::new().as_bytes(|bytes| assert_eq!(bytes, &[])); + BTreeSet::<u64>::new().as_bytes(|bytes| assert!(bytes.is_empty())); } #[test] fn test_hashset_as_bytes() { - HashSet::<u64>::new().as_bytes(|bytes| assert_eq!(bytes, &[])); + HashSet::<u64>::new().as_bytes(|bytes| assert!(bytes.is_empty())); } } diff --git a/tools/kv_typed/src/backend/leveldb.rs b/tools/kv_typed/src/backend/leveldb.rs index 1ecd676c8a07ed59e73ac81c77eeacb08406a37f..22692c7ad8f2472d42b3a30d40ef5a917e92c073 100644 --- a/tools/kv_typed/src/backend/leveldb.rs +++ b/tools/kv_typed/src/backend/leveldb.rs @@ -171,7 +171,9 @@ impl BackendCol for LevelDbCol { self.0 .get(ReadOptions::new(), k_bytes)? .map(|bytes| { - if let Some(layout_verified) = + if bytes.is_empty() { + f(&[]) + } else if let Some(layout_verified) = zerocopy::LayoutVerified::<_, [V::Elem]>::new_slice( &bytes[V::prefix_len()..], ) diff --git a/tools/kv_typed/src/backend/lmdb.rs b/tools/kv_typed/src/backend/lmdb.rs index ceb728f23659142347e925f5c253145d864a619c..e30532868e2aadad117e5404438c5aa1f660d444 100644 --- a/tools/kv_typed/src/backend/lmdb.rs +++ b/tools/kv_typed/src/backend/lmdb.rs @@ -324,7 +324,9 @@ impl BackendCol for LmdbCol { .get::<_, [u8]>(&self.inner.tree, k_bytes) .to_opt()? .map(|bytes| { - if let Some(layout_verified) = + if bytes.is_empty() { + f(&[]) + } else if let Some(layout_verified) = zerocopy::LayoutVerified::<_, [V::Elem]>::new_slice( &bytes[V::prefix_len()..], ) diff --git a/tools/kv_typed/src/backend/memory.rs b/tools/kv_typed/src/backend/memory.rs index f9c41870f73524584a6193d0c91e1ffa60490cc1..0d50e7857043483c19abb07bbfc1f9a96d272adc 100644 --- a/tools/kv_typed/src/backend/memory.rs +++ b/tools/kv_typed/src/backend/memory.rs @@ -138,7 +138,9 @@ impl BackendCol for MemCol { self.tree .get(k_bytes) .map(|bytes| { - if let Some(layout_verified) = + if bytes.is_empty() { + f(&[]) + } else if let Some(layout_verified) = zerocopy::LayoutVerified::<_, [V::Elem]>::new_slice( &bytes[V::prefix_len()..], ) diff --git a/tools/kv_typed/src/backend/memory_singleton.rs b/tools/kv_typed/src/backend/memory_singleton.rs index 5f49a8cf3eb6ba4d6afce5618fd8fe59eb4f16d7..786ca4e69c002ce0c8e0410e8ac55921d2c11513 100644 --- a/tools/kv_typed/src/backend/memory_singleton.rs +++ b/tools/kv_typed/src/backend/memory_singleton.rs @@ -121,7 +121,9 @@ impl BackendCol for MemCol { self.0 .as_ref() .map(|bytes| { - if let Some(layout_verified) = + if bytes.is_empty() { + f(&[]) + } else if let Some(layout_verified) = zerocopy::LayoutVerified::<_, [V::Elem]>::new_slice(&bytes[V::prefix_len()..]) { f(&layout_verified) diff --git a/tools/kv_typed/src/backend/sled.rs b/tools/kv_typed/src/backend/sled.rs index 592a6bd7653febcc47df77dbebb6f78504a550b1..9d1358026612b72ada811c057520d3a8dfba1c7f 100644 --- a/tools/kv_typed/src/backend/sled.rs +++ b/tools/kv_typed/src/backend/sled.rs @@ -121,7 +121,9 @@ impl BackendCol for SledCol { self.0 .get(k_bytes)? .map(|bytes| { - if let Some(layout_verified) = + if bytes.is_empty() { + f(&[]) + } else if let Some(layout_verified) = zerocopy::LayoutVerified::<_, [V::Elem]>::new_slice( &bytes[V::prefix_len()..], )