Coverage Report

Created: 2026-06-30 07:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/revision-0.28.0/src/implementations/roaring.rs
Line
Count
Source
1
#![cfg(feature = "roaring")]
2
3
use super::super::Error;
4
use super::super::{DeserializeRevisioned, Revisioned, SerializeRevisioned};
5
use roaring::{RoaringBitmap, RoaringTreemap};
6
7
impl SerializeRevisioned for RoaringTreemap {
8
  #[inline]
9
0
  fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> {
10
0
    self.serialize_into(writer).map_err(|ref err| Error::Serialize(format!("{:?}", err)))
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>>::{closure#0}
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::SerializeRevisioned>::serialize_revisioned::<_>::{closure#0}
11
0
  }
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>>
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::SerializeRevisioned>::serialize_revisioned::<_>
12
}
13
14
impl DeserializeRevisioned for RoaringTreemap {
15
  #[inline]
16
0
  fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> {
17
0
    Self::deserialize_from(reader).map_err(|ref err| Error::Deserialize(format!("{:?}", err)))
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<revision::slice_reader::SliceReader>::{closure#0}
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]>::{closure#0}
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<_>::{closure#0}
18
0
  }
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<revision::slice_reader::SliceReader>
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]>
Unexecuted instantiation: <roaring::treemap::RoaringTreemap as revision::DeserializeRevisioned>::deserialize_revisioned::<_>
19
}
20
21
impl Revisioned for RoaringTreemap {
22
  #[inline]
23
0
  fn revision() -> u16 {
24
0
    1
25
0
  }
26
}
27
28
impl SerializeRevisioned for RoaringBitmap {
29
  #[inline]
30
0
  fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> {
31
0
    self.serialize_into(writer).map_err(|ref err| Error::Serialize(format!("{:?}", err)))
32
0
  }
33
}
34
35
impl DeserializeRevisioned for RoaringBitmap {
36
  #[inline]
37
0
  fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> {
38
0
    Self::deserialize_from(reader).map_err(|ref err| Error::Deserialize(format!("{:?}", err)))
39
0
  }
40
}
41
42
impl Revisioned for RoaringBitmap {
43
  #[inline]
44
0
  fn revision() -> u16 {
45
0
    1
46
0
  }
47
}
48
49
#[cfg(test)]
50
mod tests {
51
  use super::*;
52
53
  #[test]
54
  fn test_roaring_treemap() {
55
    let val = RoaringTreemap::new();
56
    let mut mem: Vec<u8> = vec![];
57
    val.serialize_revisioned(&mut mem).unwrap();
58
    assert_eq!(mem.len(), 8);
59
    let out =
60
      <RoaringTreemap as DeserializeRevisioned>::deserialize_revisioned(&mut mem.as_slice())
61
        .unwrap();
62
    assert_eq!(val, out);
63
  }
64
65
  #[test]
66
  fn test_roaring_bitmap() {
67
    let val = RoaringBitmap::new();
68
    let mut mem: Vec<u8> = vec![];
69
    val.serialize_revisioned(&mut mem).unwrap();
70
    assert_eq!(mem.len(), 8);
71
    let out =
72
      <RoaringBitmap as DeserializeRevisioned>::deserialize_revisioned(&mut mem.as_slice())
73
        .unwrap();
74
    assert_eq!(val, out);
75
  }
76
}