/rust/registry/src/index.crates.io-1949cf8c6b5b557f/revision-0.13.0/src/implementations/option.rs
Line | Count | Source |
1 | | use crate::DeserializeRevisioned; |
2 | | use crate::SerializeRevisioned; |
3 | | |
4 | | use super::super::Error; |
5 | | use super::super::Revisioned; |
6 | | |
7 | | impl<T> SerializeRevisioned for Option<T> |
8 | | where |
9 | | T: SerializeRevisioned, |
10 | | { |
11 | | #[inline] |
12 | 10.4k | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { |
13 | 10.4k | match self { |
14 | 1.07k | Some(value) => { |
15 | 1.07k | 1u8.serialize_revisioned(writer)?; |
16 | 1.07k | value.serialize_revisioned(writer) |
17 | | } |
18 | 9.41k | None => 0u8.serialize_revisioned(writer), |
19 | | } |
20 | 10.4k | } Unexecuted instantiation: <core::option::Option<surrealdb_core::val::Value> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::iam::auth::Auth> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::fetch::Fetchs> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<alloc::vec::Vec<surrealdb_core::val::Value>> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<alloc::vec::Vec<surrealdb_core::expr::kind::Kind>> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<alloc::vec::Vec<surrealdb_core::expr::filter::Filter>> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 12 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 12 | match self { | 14 | 11 | Some(value) => { | 15 | 11 | 1u8.serialize_revisioned(writer)?; | 16 | 11 | value.serialize_revisioned(writer) | 17 | | } | 18 | 1 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 12 | } |
<core::option::Option<alloc::vec::Vec<surrealdb_core::expr::tokenizer::Tokenizer>> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 12 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 12 | match self { | 14 | 10 | Some(value) => { | 15 | 10 | 1u8.serialize_revisioned(writer)?; | 16 | 10 | value.serialize_revisioned(writer) | 17 | | } | 18 | 2 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 12 | } |
Unexecuted instantiation: <core::option::Option<alloc::boxed::Box<surrealdb_core::expr::kind::Kind>> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<core::time::Duration> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 4 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 4 | match self { | 14 | 2 | Some(value) => { | 15 | 2 | 1u8.serialize_revisioned(writer)?; | 16 | 2 | value.serialize_revisioned(writer) | 17 | | } | 18 | 2 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 4 | } |
<core::option::Option<alloc::string::String> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 947 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 947 | match self { | 14 | 1 | Some(value) => { | 15 | 1 | 1u8.serialize_revisioned(writer)?; | 16 | 1 | value.serialize_revisioned(writer) | 17 | | } | 18 | 946 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 947 | } |
<core::option::Option<surrealdb_core::val::record::Metadata> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 8.36k | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 8.36k | match self { | 14 | 949 | Some(value) => { | 15 | 949 | 1u8.serialize_revisioned(writer)?; | 16 | 949 | value.serialize_revisioned(writer) | 17 | | } | 18 | 7.41k | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 8.36k | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::val::datetime::Datetime> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<surrealdb_core::expr::changefeed::ChangeFeed> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 531 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 531 | match self { | 14 | 0 | Some(value) => { | 15 | 0 | 1u8.serialize_revisioned(writer)?; | 16 | 0 | value.serialize_revisioned(writer) | 17 | | } | 18 | 531 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 531 | } |
<core::option::Option<surrealdb_core::expr::expression::Expr> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 210 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 210 | match self { | 14 | 35 | Some(value) => { | 15 | 35 | 1u8.serialize_revisioned(writer)?; | 16 | 35 | value.serialize_revisioned(writer) | 17 | | } | 18 | 175 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 210 | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::cond::Cond> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<surrealdb_core::expr::kind::Kind> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 70 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 70 | match self { | 14 | 68 | Some(value) => { | 15 | 68 | 1u8.serialize_revisioned(writer)?; | 16 | 68 | value.serialize_revisioned(writer) | 17 | | } | 18 | 2 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 70 | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::group::Groups> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::idiom::Idiom> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<surrealdb_core::expr::reference::Reference> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 70 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 70 | match self { | 14 | 0 | Some(value) => { | 15 | 0 | 1u8.serialize_revisioned(writer)?; | 16 | 0 | value.serialize_revisioned(writer) | 17 | | } | 18 | 70 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 70 | } |
<core::option::Option<surrealdb_core::catalog::view::ViewDefinition> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 253 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 253 | match self { | 14 | 0 | Some(value) => { | 15 | 0 | 1u8.serialize_revisioned(writer)?; | 16 | 0 | value.serialize_revisioned(writer) | 17 | | } | 18 | 253 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 253 | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::access::BearerAccess> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::access::JwtAccessIssue> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::bucket::BucketId> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> <core::option::Option<u64> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Line | Count | Source | 12 | 15 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { | 13 | 15 | match self { | 14 | 3 | Some(value) => { | 15 | 3 | 1u8.serialize_revisioned(writer)?; | 16 | 3 | value.serialize_revisioned(writer) | 17 | | } | 18 | 12 | None => 0u8.serialize_revisioned(writer), | 19 | | } | 20 | 15 | } |
Unexecuted instantiation: <core::option::Option<_> as revision::SerializeRevisioned>::serialize_revisioned::<_> Unexecuted instantiation: <core::option::Option<surrealdb_core::val::Value> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::iam::auth::Auth> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::fetch::Fetchs> as revision::SerializeRevisioned>::serialize_revisioned::<alloc::vec::Vec<u8>> |
21 | | } |
22 | | |
23 | | impl<T> DeserializeRevisioned for Option<T> |
24 | | where |
25 | | T: DeserializeRevisioned, |
26 | | { |
27 | | #[inline] |
28 | 42.3k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { |
29 | 42.3k | let option = u8::deserialize_revisioned(reader)?; |
30 | 42.3k | match option { |
31 | 38.4k | 0u8 => Ok(None), |
32 | 3.95k | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), |
33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), |
34 | | } |
35 | 42.3k | } Unexecuted instantiation: <core::option::Option<alloc::vec::Vec<surrealdb_core::val::Value>> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Unexecuted instantiation: <core::option::Option<alloc::vec::Vec<surrealdb_core::expr::kind::Kind>> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<alloc::vec::Vec<surrealdb_core::expr::filter::Filter>> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 2 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 2 | let option = u8::deserialize_revisioned(reader)?; | 30 | 2 | match option { | 31 | 1 | 0u8 => Ok(None), | 32 | 1 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 2 | } |
<core::option::Option<alloc::vec::Vec<surrealdb_core::expr::tokenizer::Tokenizer>> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 2 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 2 | let option = u8::deserialize_revisioned(reader)?; | 30 | 2 | match option { | 31 | 2 | 0u8 => Ok(None), | 32 | 0 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 2 | } |
Unexecuted instantiation: <core::option::Option<alloc::boxed::Box<surrealdb_core::expr::kind::Kind>> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<core::time::Duration> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 2 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 2 | let option = u8::deserialize_revisioned(reader)?; | 30 | 2 | match option { | 31 | 1 | 0u8 => Ok(None), | 32 | 1 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 2 | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::val::Value> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<alloc::string::String> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 19.4k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 19.4k | let option = u8::deserialize_revisioned(reader)?; | 30 | 19.4k | match option { | 31 | 19.4k | 0u8 => Ok(None), | 32 | 1 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 19.4k | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::iam::auth::Auth> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<surrealdb_core::val::record::Metadata> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 1.06k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 1.06k | let option = u8::deserialize_revisioned(reader)?; | 30 | 1.06k | match option { | 31 | 1.04k | 0u8 => Ok(None), | 32 | 16 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 1.06k | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::val::datetime::Datetime> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<surrealdb_core::expr::changefeed::ChangeFeed> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 8.48k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 8.48k | let option = u8::deserialize_revisioned(reader)?; | 30 | 8.48k | match option { | 31 | 8.48k | 0u8 => Ok(None), | 32 | 0 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 8.48k | } |
<core::option::Option<surrealdb_core::expr::expression::Expr> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 7.74k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 7.74k | let option = u8::deserialize_revisioned(reader)?; | 30 | 7.74k | match option { | 31 | 6.36k | 0u8 => Ok(None), | 32 | 1.38k | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 7.74k | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::cond::Cond> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<surrealdb_core::expr::kind::Kind> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 2.58k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 2.58k | let option = u8::deserialize_revisioned(reader)?; | 30 | 2.58k | match option { | 31 | 47 | 0u8 => Ok(None), | 32 | 2.53k | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 2.58k | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::fetch::Fetchs> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::group::Groups> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Unexecuted instantiation: <core::option::Option<surrealdb_core::expr::idiom::Idiom> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<surrealdb_core::expr::reference::Reference> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 2.58k | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 2.58k | let option = u8::deserialize_revisioned(reader)?; | 30 | 2.58k | match option { | 31 | 2.58k | 0u8 => Ok(None), | 32 | 0 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 2.58k | } |
<core::option::Option<surrealdb_core::catalog::view::ViewDefinition> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 96 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 96 | let option = u8::deserialize_revisioned(reader)?; | 30 | 96 | match option { | 31 | 96 | 0u8 => Ok(None), | 32 | 0 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 96 | } |
Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::access::BearerAccess> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::access::JwtAccessIssue> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Unexecuted instantiation: <core::option::Option<surrealdb_core::catalog::schema::bucket::BucketId> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> <core::option::Option<u64> as revision::DeserializeRevisioned>::deserialize_revisioned::<&[u8]> Line | Count | Source | 28 | 336 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { | 29 | 336 | let option = u8::deserialize_revisioned(reader)?; | 30 | 336 | match option { | 31 | 322 | 0u8 => Ok(None), | 32 | 14 | 1u8 => Ok(Some(T::deserialize_revisioned(reader)?)), | 33 | 0 | value => Err(Error::Deserialize(format!("Invalid option value {}", value))), | 34 | | } | 35 | 336 | } |
Unexecuted instantiation: <core::option::Option<_> as revision::DeserializeRevisioned>::deserialize_revisioned::<_> |
36 | | } |
37 | | |
38 | | impl<T> Revisioned for Option<T> |
39 | | where |
40 | | T: Revisioned, |
41 | | { |
42 | | #[inline] |
43 | 0 | fn revision() -> u16 { |
44 | 0 | 1 |
45 | 0 | } |
46 | | } |
47 | | |
48 | | #[cfg(test)] |
49 | | mod tests { |
50 | | |
51 | | use super::*; |
52 | | |
53 | | #[test] |
54 | | fn test_option_none() { |
55 | | let val: Option<String> = None; |
56 | | let mut mem: Vec<u8> = vec![]; |
57 | | val.serialize_revisioned(&mut mem).unwrap(); |
58 | | assert_eq!(mem.len(), 1); |
59 | | let out = |
60 | | <Option<String> as DeserializeRevisioned>::deserialize_revisioned(&mut mem.as_slice()) |
61 | | .unwrap(); |
62 | | assert_eq!(val, out); |
63 | | } |
64 | | |
65 | | #[test] |
66 | | fn test_option_some() { |
67 | | let val: Option<String> = Some(String::from("this is a test")); |
68 | | let mut mem: Vec<u8> = vec![]; |
69 | | val.serialize_revisioned(&mut mem).unwrap(); |
70 | | assert_eq!(mem.len(), 16); |
71 | | let out = |
72 | | <Option<String> as DeserializeRevisioned>::deserialize_revisioned(&mut mem.as_slice()) |
73 | | .unwrap(); |
74 | | assert_eq!(val, out); |
75 | | } |
76 | | } |