Coverage Report

Created: 2025-10-10 07:11

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/revision-0.13.0/src/implementations/uuid.rs
Line
Count
Source
1
#![cfg(feature = "uuid")]
2
3
use super::super::Error;
4
use super::super::{DeserializeRevisioned, Revisioned, SerializeRevisioned};
5
use uuid::Uuid;
6
7
impl SerializeRevisioned for Uuid {
8
  #[inline]
9
1.01k
  fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> {
10
1.01k
    writer.write_all(self.as_bytes()).map_err(Error::Io)
11
1.01k
  }
<uuid::Uuid as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>>
Line
Count
Source
9
1.01k
  fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> {
10
1.01k
    writer.write_all(self.as_bytes()).map_err(Error::Io)
11
1.01k
  }
Unexecuted instantiation: <uuid::Uuid as revision::SerializeRevisioned>::serialize_revisioned::<_>
12
}
13
14
impl DeserializeRevisioned for Uuid {
15
  #[inline]
16
384
  fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> {
17
384
    let mut v = [0u8; 16];
18
384
    reader.read_exact(&mut v).map_err(Error::Io)?;
19
384
    Uuid::from_slice(&v).map_err(|_| Error::Deserialize("invalid uuid".to_string()))
Unexecuted instantiation: <uuid::Uuid as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]>::{closure#0}
Unexecuted instantiation: <uuid::Uuid as revision::DeserializeRevisioned>::deserialize_revisioned::<_>::{closure#0}
20
384
  }
<uuid::Uuid as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]>
Line
Count
Source
16
384
  fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> {
17
384
    let mut v = [0u8; 16];
18
384
    reader.read_exact(&mut v).map_err(Error::Io)?;
19
384
    Uuid::from_slice(&v).map_err(|_| Error::Deserialize("invalid uuid".to_string()))
20
384
  }
Unexecuted instantiation: <uuid::Uuid as revision::DeserializeRevisioned>::deserialize_revisioned::<_>
21
}
22
23
impl Revisioned for Uuid {
24
  #[inline]
25
0
  fn revision() -> u16 {
26
0
    1
27
0
  }
28
}
29
30
#[cfg(test)]
31
mod tests {
32
33
  use super::*;
34
35
  #[test]
36
  fn test_uuid() {
37
    #[rustfmt::skip]
38
        let val = Uuid::from_bytes([
39
            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
40
            0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
41
        ]);
42
    let mut mem: Vec<u8> = vec![];
43
    val.serialize_revisioned(&mut mem).unwrap();
44
    assert_eq!(mem.len(), 16);
45
    let out =
46
      <Uuid as DeserializeRevisioned>::deserialize_revisioned(&mut mem.as_slice()).unwrap();
47
    assert_eq!(val, out);
48
  }
49
}