diff --git a/search-index.js b/search-index.js index 162ca08..a068f17 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = new Map(JSON.parse('[\ -["versioned_binary_serialization",{"doc":"","t":"EECCCCKTTMMMMNFTTTFKFNNNNNNMNNMNNNNNNNNMNNMNNNNNNNNNNNNTTFFNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNTTTTK","n":["BinarySerializer","Serializer","binary_serializer","bincode_serializer","version","versioned","BinarySerializer","MAJOR","MINOR","deserialize","deserialize_no_version","serialize","serialize_no_version","version","BincodeSerializer","MAJOR","MINOR","VERSION_MISMATCH","VersionChecker","VersionedBinarySerializer","VersionedBincodeSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","deserialize","deserialize_no_version","deserialize_no_version","deserialize_no_version","from","from","from","into","into","into","serialize","serialize","serialize","serialize_no_version","serialize_no_version","serialize_no_version","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","version","MAJOR","MINOR","StaticVersion","Version","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","fmt","fmt","fmt","from","from","hash","into","into","major","minor","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","MAX_MAJOR","MAX_MINOR","MIN_MAJOR","MIN_MINOR","Versioned"],"q":[[0,"versioned_binary_serialization"],[6,"versioned_binary_serialization::binary_serializer"],[14,"versioned_binary_serialization::bincode_serializer"],[55,"versioned_binary_serialization::version"],[91,"versioned_binary_serialization::versioned"],[96,"anyhow"],[97,"serde::de"],[98,"alloc::vec"],[99,"serde::ser"],[100,"core::marker"],[101,"core::result"],[102,"core::any"],[103,"anyhow"],[104,"core::fmt"],[105,"serde::ser"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Type for protocol version number","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","major version number","minor version number","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,22,22,22,22,22,22,22,0,23,23,24,0,0,0,25,24,26,25,24,26,23,25,26,23,25,26,25,24,26,25,24,26,23,25,26,23,25,26,25,24,26,25,24,26,25,24,26,23,12,12,0,0,8,12,8,12,8,12,8,12,8,8,8,8,8,12,8,12,8,8,12,8,8,8,8,8,12,8,8,12,8,12,8,12,9,9,9,9,0],"f":[0,0,0,0,0,0,0,0,0,[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],4],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[[],8],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],[4,9]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,11,[]],[-1,11,[]],[-1,11,[]],[[],8],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[8,8],[12,12],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[[2,[1]]],[[10,[[13,[8,[2,[1]]]],14]]]],[-1,[[10,[8]]],15],[[8,8],16],[[8,17],18],[[8,17],18],[[12,17],18],[-1,-1,[]],[-1,-1,[]],[[8,-1],13,19],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[8,-1],10,20],[8,[[5,[1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,21,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,11,[]],[-1,11,[]],0,0,0,0,0],"c":[],"p":[[1,"u8"],[1,"slice"],[8,"Result",96],[10,"Deserialize",97],[5,"Vec",98],[10,"Serialize",99],[10,"Sized",100],[5,"Version",55],[10,"Versioned",91],[6,"Result",101],[5,"TypeId",102],[5,"StaticVersion",55],[1,"tuple"],[5,"Error",96],[10,"Deserializer",97],[1,"bool"],[5,"Formatter",103],[8,"Result",103],[10,"Hasher",104],[10,"Serializer",99],[5,"String",105],[10,"BinarySerializer",6],[10,"VersionedBinarySerializer",14],[5,"VersionChecker",14],[5,"BincodeSerializer",14],[5,"VersionedBincodeSerializer",14]],"b":[[67,"impl-Version"],[68,"impl-Deserialize%3C\'de%3E-for-Version"],[70,"impl-Debug-for-Version"],[71,"impl-Display-for-Version"],[80,"impl-Serialize-for-Version"],[81,"impl-Version"]]}]\ +["versioned_binary_serialization",{"doc":"","t":"EECCCCKTTMMMMNFTTRTFKFNNNNNNMNNMNNNNNNNNMNNMNNNNNNNNNNNNTTFKFNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNTTTTK","n":["BinarySerializer","Serializer","binary_serializer","bincode_serializer","version","versioned","BinarySerializer","MAJOR","MINOR","deserialize","deserialize_no_version","serialize","serialize_no_version","version","BincodeSerializer","MAJOR","MINOR","StaticVersion","VERSION_MISMATCH","VersionChecker","VersionedBinarySerializer","VersionedBincodeSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","deserialize","deserialize_no_version","deserialize_no_version","deserialize_no_version","from","from","from","into","into","into","serialize","serialize","serialize","serialize_no_version","serialize_no_version","serialize_no_version","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","version","MAJOR","MINOR","StaticVersion","StaticVersionType","Version","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","fmt","fmt","fmt","from","from","hash","into","into","major","minor","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","version","version","MAX_MAJOR","MAX_MINOR","MIN_MAJOR","MIN_MINOR","Versioned"],"q":[[0,"versioned_binary_serialization"],[6,"versioned_binary_serialization::binary_serializer"],[14,"versioned_binary_serialization::bincode_serializer"],[56,"versioned_binary_serialization::version"],[95,"versioned_binary_serialization::versioned"],[100,"anyhow"],[101,"serde::de"],[102,"alloc::vec"],[103,"serde::ser"],[104,"core::marker"],[105,"core::result"],[106,"core::any"],[107,"anyhow"],[108,"core::fmt"],[109,"serde::ser"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Type for protocol version number","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","major version number","minor version number","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,22,22,22,22,22,22,22,0,23,23,23,24,0,0,0,25,24,26,25,24,26,23,25,26,23,25,26,25,24,26,25,24,26,23,25,26,23,25,26,25,24,26,25,24,26,25,24,26,23,27,27,0,0,0,8,12,8,12,8,12,8,12,8,8,8,8,8,12,8,12,8,8,12,8,8,8,8,8,12,8,8,12,8,12,8,12,27,12,9,9,9,9,0],"f":[0,0,0,0,0,0,0,0,0,[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],4],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[[],8],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],[4,9]],[[[2,[1]]],[[3,[-1]]],4],[[[2,[1]]],[[3,[-1]]],[4,9]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[3,[[5,[1]]]]],[6,7]],[-1,[[3,[[5,[1]]]]],[6,9,7]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,11,[]],[-1,11,[]],[-1,11,[]],[[],8],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[8,8],[12,12],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[[2,[1]]],[[10,[[13,[8,[2,[1]]]],14]]]],[-1,[[10,[8]]],15],[[8,8],16],[[8,17],18],[[8,17],18],[[12,17],18],[-1,-1,[]],[-1,-1,[]],[[8,-1],13,19],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[8,-1],10,20],[8,[[5,[1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,21,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,11,[]],[-1,11,[]],[[],8],[[],8],0,0,0,0,0],"c":[],"p":[[1,"u8"],[1,"slice"],[8,"Result",100],[10,"Deserialize",101],[5,"Vec",102],[10,"Serialize",103],[10,"Sized",104],[5,"Version",56],[10,"Versioned",95],[6,"Result",105],[5,"TypeId",106],[5,"StaticVersion",56],[1,"tuple"],[5,"Error",100],[10,"Deserializer",101],[1,"bool"],[5,"Formatter",107],[8,"Result",107],[10,"Hasher",108],[10,"Serializer",103],[5,"String",109],[10,"BinarySerializer",6],[10,"VersionedBinarySerializer",14],[5,"VersionChecker",14],[5,"BincodeSerializer",14],[5,"VersionedBincodeSerializer",14],[10,"StaticVersionType",56]],"b":[[69,"impl-Version"],[70,"impl-Deserialize%3C\'de%3E-for-Version"],[72,"impl-Display-for-Version"],[73,"impl-Debug-for-Version"],[82,"impl-Serialize-for-Version"],[83,"impl-Version"]]}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/src/versioned_binary_serialization/bincode_serializer.rs.html b/src/versioned_binary_serialization/bincode_serializer.rs.html index f27d1a7..fa192af 100644 --- a/src/versioned_binary_serialization/bincode_serializer.rs.html +++ b/src/versioned_binary_serialization/bincode_serializer.rs.html @@ -268,18 +268,21 @@ 267 268 269 -
use std::io::Write;
-
-use crate::{binary_serializer::BinarySerializer, version::Version, versioned::Versioned};
+270
+
use std::{io::Write, marker::PhantomData};
+
+use crate::{
+    binary_serializer::BinarySerializer,
+    version::{StaticVersionType, Version},
+    versioned::Versioned,
+};
 use anyhow::{anyhow, Result};
 use serde::{Deserialize, Serialize};
 
-pub struct BincodeSerializer<const VER_MAJOR: u16, const VER_MINOR: u16>;
-impl<const VER_MAJOR: u16, const VER_MINOR: u16> BinarySerializer
-    for BincodeSerializer<VER_MAJOR, VER_MINOR>
-{
-    const MAJOR: u16 = VER_MAJOR;
-    const MINOR: u16 = VER_MINOR;
+pub struct BincodeSerializer<VER: StaticVersionType>(PhantomData<VER>);
+impl<VER: StaticVersionType> BinarySerializer for BincodeSerializer<VER> {
+    const MAJOR: u16 = VER::MAJOR;
+    const MINOR: u16 = VER::MINOR;
     fn serialize_no_version<T: ?Sized>(value: &T) -> Result<Vec<u8>>
     where
         T: Serialize,
@@ -308,7 +311,7 @@
         T: Deserialize<'a>,
     {
         let (ver, rest) = Version::deserialize(bytes)?;
-        if ver.major != VER_MAJOR || ver.minor != VER_MINOR {
+        if ver.major != VER::MAJOR || ver.minor != VER::MINOR {
             return Err(anyhow!(
                 "Version Mismatch! Expected {}, got {}",
                 ver,
@@ -320,16 +323,15 @@
 }
 
 // Testing; will use to replace BincodeSerializer after applying `Versioned` to existing serialized types
-pub struct VersionChecker<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized + Versioned> {
-    _phantom: std::marker::PhantomData<TYPE>,
+pub struct VersionChecker<VER: StaticVersionType, TYPE: ?Sized + Versioned> {
+    _phantom_ver: std::marker::PhantomData<VER>,
+    _phantom_type: std::marker::PhantomData<TYPE>,
 }
-impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized + Versioned>
-    VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
-{
-    pub const VERSION_MISMATCH: () = if VER_MAJOR < TYPE::MIN_MAJOR
-        || VER_MAJOR > TYPE::MAX_MAJOR
-        || (VER_MAJOR == TYPE::MIN_MAJOR && VER_MINOR < TYPE::MIN_MINOR)
-        || (VER_MAJOR == TYPE::MAX_MAJOR && VER_MINOR > TYPE::MAX_MINOR)
+impl<VER: StaticVersionType, TYPE: ?Sized + Versioned> VersionChecker<VER, TYPE> {
+    pub const VERSION_MISMATCH: () = if VER::MAJOR < TYPE::MIN_MAJOR
+        || VER::MAJOR > TYPE::MAX_MAJOR
+        || (VER::MAJOR == TYPE::MIN_MAJOR && VER::MINOR < TYPE::MIN_MINOR)
+        || (VER::MAJOR == TYPE::MAX_MAJOR && VER::MINOR > TYPE::MAX_MINOR)
     {
         panic!("unsupported type for version")
     };
@@ -338,6 +340,7 @@
 pub trait VersionedBinarySerializer {
     const MAJOR: u16;
     const MINOR: u16;
+    type StaticVersion: StaticVersionType;
 
     fn version() -> Version {
         Version {
@@ -365,19 +368,18 @@
         T: Deserialize<'a> + Versioned;
 }
 
-pub struct VersionedBincodeSerializer<const VER_MAJOR: u16, const VER_MINOR: u16>;
-impl<const VER_MAJOR: u16, const VER_MINOR: u16> VersionedBinarySerializer
-    for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>
-{
-    const MAJOR: u16 = VER_MAJOR;
-    const MINOR: u16 = VER_MINOR;
+pub struct VersionedBincodeSerializer<VER: StaticVersionType>(PhantomData<VER>);
+impl<VER: StaticVersionType> VersionedBinarySerializer for VersionedBincodeSerializer<VER> {
+    const MAJOR: u16 = VER::MAJOR;
+    const MINOR: u16 = VER::MINOR;
+    type StaticVersion = VER;
 
     fn serialize_no_version<T: ?Sized>(value: &T) -> Result<Vec<u8>>
     where
         T: Serialize + Versioned,
     {
         #[allow(clippy::let_unit_value)]
-        let _ = VersionChecker::<VER_MAJOR, VER_MINOR, T>::VERSION_MISMATCH;
+        let _ = VersionChecker::<VER, T>::VERSION_MISMATCH;
 
         Ok(bincode::serialize(value)?)
     }
@@ -387,7 +389,7 @@
         T: Deserialize<'a> + Versioned,
     {
         #[allow(clippy::let_unit_value)]
-        let _ = VersionChecker::<VER_MAJOR, VER_MINOR, T>::VERSION_MISMATCH;
+        let _ = VersionChecker::<VER, T>::VERSION_MISMATCH;
 
         Ok(bincode::deserialize(bytes)?)
     }
@@ -397,7 +399,7 @@
         T: Serialize + Versioned,
     {
         #[allow(clippy::let_unit_value)]
-        let _ = VersionChecker::<VER_MAJOR, VER_MINOR, T>::VERSION_MISMATCH;
+        let _ = VersionChecker::<VER, T>::VERSION_MISMATCH;
 
         let mut vec = Self::version().serialize();
         bincode::serialize_into(vec.by_ref(), value)?;
@@ -409,10 +411,10 @@
         T: Deserialize<'a> + Versioned,
     {
         #[allow(clippy::let_unit_value)]
-        let _ = VersionChecker::<VER_MAJOR, VER_MINOR, T>::VERSION_MISMATCH;
+        let _ = VersionChecker::<VER, T>::VERSION_MISMATCH;
 
         let (ver, rest) = Version::deserialize(bytes)?;
-        if ver.major != VER_MAJOR || ver.minor != VER_MINOR {
+        if ver.major != VER::MAJOR || ver.minor != VER::MINOR {
             return Err(anyhow!(
                 "Version Mismatch! Expected {}, got {}",
                 ver,
@@ -427,17 +429,19 @@
 mod test {
     use serde::{Deserialize, Serialize};
 
-    use crate::{binary_serializer::BinarySerializer, version::Version};
+    use crate::{
+        binary_serializer::BinarySerializer,
+        version::{StaticVersion, Version},
+        versioned::Versioned,
+    };
 
     use super::{BincodeSerializer, VersionedBinarySerializer, VersionedBincodeSerializer};
 
     mod version_0_1 {
-        use crate::versioned::Versioned;
-
         use super::*;
 
-        pub type Serializer = BincodeSerializer<0u16, 1u16>;
-        pub type VSerializer = VersionedBincodeSerializer<0u16, 1u16>;
+        pub type Serializer = BincodeSerializer<StaticVersion<0u16, 1u16>>;
+        pub type VSerializer = VersionedBincodeSerializer<StaticVersion<0u16, 1u16>>;
 
         #[derive(Serialize, Deserialize)]
         pub struct Thing {
@@ -457,19 +461,17 @@
     mod version_0_2 {
         use super::*;
 
-        pub type Serializer = BincodeSerializer<0u16, 2u16>;
-        pub type VSerializer = VersionedBincodeSerializer<0u16, 2u16>;
+        pub type Serializer = BincodeSerializer<StaticVersion<0u16, 2u16>>;
+        pub type VSerializer = VersionedBincodeSerializer<StaticVersion<0u16, 2u16>>;
 
         pub type Thing = version_0_1::Thing;
     }
 
     mod version_0_3 {
-        use crate::versioned::Versioned;
-
         use super::*;
 
-        pub type Serializer = BincodeSerializer<0u16, 3u16>;
-        pub type VSerializer = VersionedBincodeSerializer<0u16, 3u16>;
+        pub type Serializer = BincodeSerializer<StaticVersion<0u16, 3u16>>;
+        pub type VSerializer = VersionedBincodeSerializer<StaticVersion<0u16, 3u16>>;
 
         #[derive(Serialize, Deserialize)]
         pub struct Thing {
diff --git a/src/versioned_binary_serialization/version.rs.html b/src/versioned_binary_serialization/version.rs.html
index 18e8c73..24d5035 100644
--- a/src/versioned_binary_serialization/version.rs.html
+++ b/src/versioned_binary_serialization/version.rs.html
@@ -51,6 +51,32 @@
 50
 51
 52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
 
use anyhow::anyhow;
 use core::fmt::Debug;
 use displaydoc::Display;
@@ -87,12 +113,31 @@
     }
 }
 
+pub trait StaticVersionType: Clone + Copy + Debug + private::Sealed {
+    const MAJOR: u16;
+    const MINOR: u16;
+
+    fn version() -> Version {
+        Version {
+            major: Self::MAJOR,
+            minor: Self::MINOR,
+        }
+    }
+}
+
 #[derive(Clone, Copy, Display)]
 pub struct StaticVersion<const MAJOR: u16, const MINOR: u16>;
 
-impl<const MAJOR: u16, const MINOR: u16> StaticVersion<MAJOR, MINOR> {
-    pub const MAJOR: u16 = MAJOR;
-    pub const MINOR: u16 = MINOR;
+impl<const MAJOR: u16, const MINOR: u16> StaticVersionType for StaticVersion<MAJOR, MINOR> {
+    const MAJOR: u16 = MAJOR;
+    const MINOR: u16 = MINOR;
+
+    fn version() -> Version {
+        Version {
+            major: Self::MAJOR,
+            minor: Self::MINOR,
+        }
+    }
 }
 
 impl<const MAJOR: u16, const MINOR: u16> Debug for StaticVersion<MAJOR, MINOR> {
@@ -103,4 +148,11 @@
             .finish()
     }
 }
+
+mod private {
+    pub trait Sealed {}
+
+    // Implement for those same types, but no others.
+    impl<const MAJOR: u16, const MINOR: u16> Sealed for super::StaticVersion<MAJOR, MINOR> {}
+}
 
\ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index ba14fe9..e9241a2 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const MAJOR: u16, const MINOR: u16> Clone for StaticVersion<MAJOR, MINOR>"],["impl Clone for Version"]] +"versioned_binary_serialization":[["impl Clone for Version"],["impl<const MAJOR: u16, const MINOR: u16> Clone for StaticVersion<MAJOR, MINOR>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js index 8a47790..3a749e8 100644 --- a/trait.impl/core/marker/trait.Copy.js +++ b/trait.impl/core/marker/trait.Copy.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl Copy for Version"],["impl<const MAJOR: u16, const MINOR: u16> Copy for StaticVersion<MAJOR, MINOR>"]] +"versioned_binary_serialization":[["impl<const MAJOR: u16, const MINOR: u16> Copy for StaticVersion<MAJOR, MINOR>"],["impl Copy for Version"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 61a6026..3dc5541 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Freeze for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Freeze for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Freeze for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Freeze for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Freeze for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> Freeze for BincodeSerializer<VER>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> Freeze for VersionChecker<VER, TYPE>",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> Freeze for VersionedBincodeSerializer<VER>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Freeze for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Freeze for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index bf0f064..bc8e958 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Send for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Send for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where\n TYPE: Send,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Send for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Send for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Send for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> Send for BincodeSerializer<VER>
where\n VER: Send,
",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> Send for VersionChecker<VER, TYPE>
where\n TYPE: Send,\n VER: Send,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> Send for VersionedBincodeSerializer<VER>
where\n VER: Send,
",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Send for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Send for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index 05b7a69..f2d931f 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Sync for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Sync for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where\n TYPE: Sync,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Sync for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Sync for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Sync for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> Sync for BincodeSerializer<VER>
where\n VER: Sync,
",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> Sync for VersionChecker<VER, TYPE>
where\n TYPE: Sync,\n VER: Sync,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> Sync for VersionedBincodeSerializer<VER>
where\n VER: Sync,
",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Sync for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Sync for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index d298f60..07dcc54 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Unpin for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Unpin for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where\n TYPE: Unpin,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> Unpin for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Unpin for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Unpin for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> Unpin for BincodeSerializer<VER>
where\n VER: Unpin,
",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> Unpin for VersionChecker<VER, TYPE>
where\n TYPE: Unpin,\n VER: Unpin,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> Unpin for VersionedBincodeSerializer<VER>
where\n VER: Unpin,
",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl Unpin for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> Unpin for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 4621a23..f101f20 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> RefUnwindSafe for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> RefUnwindSafe for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where\n TYPE: RefUnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> RefUnwindSafe for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl RefUnwindSafe for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> RefUnwindSafe for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> RefUnwindSafe for BincodeSerializer<VER>
where\n VER: RefUnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> RefUnwindSafe for VersionChecker<VER, TYPE>
where\n TYPE: RefUnwindSafe,\n VER: RefUnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> RefUnwindSafe for VersionedBincodeSerializer<VER>
where\n VER: RefUnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl RefUnwindSafe for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> RefUnwindSafe for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 6313ad8..b6320ce 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"versioned_binary_serialization":[["impl<const VER_MAJOR: u16, const VER_MINOR: u16> UnwindSafe for BincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> UnwindSafe for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where\n TYPE: UnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<const VER_MAJOR: u16, const VER_MINOR: u16> UnwindSafe for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl UnwindSafe for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> UnwindSafe for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] +"versioned_binary_serialization":[["impl<VER> UnwindSafe for BincodeSerializer<VER>
where\n VER: UnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::BincodeSerializer"]],["impl<VER, TYPE: ?Sized> UnwindSafe for VersionChecker<VER, TYPE>
where\n TYPE: UnwindSafe,\n VER: UnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionChecker"]],["impl<VER> UnwindSafe for VersionedBincodeSerializer<VER>
where\n VER: UnwindSafe,
",1,["versioned_binary_serialization::bincode_serializer::VersionedBincodeSerializer"]],["impl UnwindSafe for Version",1,["versioned_binary_serialization::version::Version"]],["impl<const MAJOR: u16, const MINOR: u16> UnwindSafe for StaticVersion<MAJOR, MINOR>",1,["versioned_binary_serialization::version::StaticVersion"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/versioned_binary_serialization/version/trait.StaticVersionType.js b/trait.impl/versioned_binary_serialization/version/trait.StaticVersionType.js new file mode 100644 index 0000000..464bc2d --- /dev/null +++ b/trait.impl/versioned_binary_serialization/version/trait.StaticVersionType.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"versioned_binary_serialization":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/versioned_binary_serialization/all.html b/versioned_binary_serialization/all.html index ef76c9b..ff73abd 100644 --- a/versioned_binary_serialization/all.html +++ b/versioned_binary_serialization/all.html @@ -1,2 +1,2 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate +
\ No newline at end of file diff --git a/versioned_binary_serialization/binary_serializer/index.html b/versioned_binary_serialization/binary_serializer/index.html index 0f74960..21bf768 100644 --- a/versioned_binary_serialization/binary_serializer/index.html +++ b/versioned_binary_serialization/binary_serializer/index.html @@ -1,2 +1,2 @@ -versioned_binary_serialization::binary_serializer - Rust +versioned_binary_serialization::binary_serializer - Rust
\ No newline at end of file diff --git a/versioned_binary_serialization/binary_serializer/trait.BinarySerializer.html b/versioned_binary_serialization/binary_serializer/trait.BinarySerializer.html index 6d5de6f..d8d6788 100644 --- a/versioned_binary_serialization/binary_serializer/trait.BinarySerializer.html +++ b/versioned_binary_serialization/binary_serializer/trait.BinarySerializer.html @@ -1,22 +1,22 @@ -BinarySerializer in versioned_binary_serialization::binary_serializer - Rust +BinarySerializer in versioned_binary_serialization::binary_serializer - Rust
pub trait BinarySerializer {
     const MAJOR: u16;
     const MINOR: u16;
 
     // Required methods
-    fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
+    fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
        where T: Serialize + ?Sized;
-    fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
+    fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
        where T: Deserialize<'a>;
-    fn serialize<T>(value: &T) -> Result<Vec<u8>>
+    fn serialize<T>(value: &T) -> Result<Vec<u8>>
        where T: Serialize + ?Sized;
-    fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
+    fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
        where T: Deserialize<'a>;
 
     // Provided method
     fn version() -> Version { ... }
-}

Required Associated Constants§

Required Methods§

source

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + ?Sized,

source

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a>,

source

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + ?Sized,

source

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a>,

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> BinarySerializer for BincodeSerializer<VER_MAJOR, VER_MINOR>

source§

const MAJOR: u16 = VER_MAJOR

source§

const MINOR: u16 = VER_MINOR

\ No newline at end of file +}

Required Associated Constants§

source

const MAJOR: u16

source

const MINOR: u16

Required Methods§

source

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + ?Sized,

source

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a>,

source

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + ?Sized,

source

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a>,

Provided Methods§

source

fn version() -> Version

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<VER: StaticVersionType> BinarySerializer for BincodeSerializer<VER>

source§

const MAJOR: u16 = VER::MAJOR

source§

const MINOR: u16 = VER::MINOR

\ No newline at end of file diff --git a/versioned_binary_serialization/bincode_serializer/index.html b/versioned_binary_serialization/bincode_serializer/index.html index d466609..d79f984 100644 --- a/versioned_binary_serialization/bincode_serializer/index.html +++ b/versioned_binary_serialization/bincode_serializer/index.html @@ -1,2 +1,2 @@ -versioned_binary_serialization::bincode_serializer - Rust -
\ No newline at end of file +versioned_binary_serialization::bincode_serializer - Rust +
\ No newline at end of file diff --git a/versioned_binary_serialization/bincode_serializer/struct.BincodeSerializer.html b/versioned_binary_serialization/bincode_serializer/struct.BincodeSerializer.html index ae5f626..e06b7c3 100644 --- a/versioned_binary_serialization/bincode_serializer/struct.BincodeSerializer.html +++ b/versioned_binary_serialization/bincode_serializer/struct.BincodeSerializer.html @@ -1,9 +1,14 @@ -BincodeSerializer in versioned_binary_serialization::bincode_serializer - Rust -
pub struct BincodeSerializer<const VER_MAJOR: u16, const VER_MINOR: u16>;

Trait Implementations§

source§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> BinarySerializer for BincodeSerializer<VER_MAJOR, VER_MINOR>

source§

const MAJOR: u16 = VER_MAJOR

source§

const MINOR: u16 = VER_MINOR

source§

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + ?Sized,

source§

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a>,

source§

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + ?Sized,

source§

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a>,

source§

fn version() -> Version

Auto Trait Implementations§

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> RefUnwindSafe for BincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Send for BincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Sync for BincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Unpin for BincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> UnwindSafe for BincodeSerializer<VER_MAJOR, VER_MINOR>

Blanket Implementations§

source§

impl<T> Any for T
where +BincodeSerializer in versioned_binary_serialization::bincode_serializer - Rust +
pub struct BincodeSerializer<VER: StaticVersionType>(/* private fields */);

Trait Implementations§

source§

impl<VER: StaticVersionType> BinarySerializer for BincodeSerializer<VER>

source§

const MAJOR: u16 = VER::MAJOR

source§

const MINOR: u16 = VER::MINOR

source§

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + ?Sized,

source§

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a>,

source§

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + ?Sized,

source§

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a>,

source§

fn version() -> Version

Auto Trait Implementations§

§

impl<VER> RefUnwindSafe for BincodeSerializer<VER>
where + VER: RefUnwindSafe,

§

impl<VER> Send for BincodeSerializer<VER>
where + VER: Send,

§

impl<VER> Sync for BincodeSerializer<VER>
where + VER: Sync,

§

impl<VER> Unpin for BincodeSerializer<VER>
where + VER: Unpin,

§

impl<VER> UnwindSafe for BincodeSerializer<VER>
where + VER: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/versioned_binary_serialization/bincode_serializer/struct.VersionChecker.html b/versioned_binary_serialization/bincode_serializer/struct.VersionChecker.html index 823c374..2c0ad87 100644 --- a/versioned_binary_serialization/bincode_serializer/struct.VersionChecker.html +++ b/versioned_binary_serialization/bincode_serializer/struct.VersionChecker.html @@ -1,10 +1,15 @@ -VersionChecker in versioned_binary_serialization::bincode_serializer - Rust -
pub struct VersionChecker<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized + Versioned> { /* private fields */ }

Implementations§

source§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized + Versioned> VersionChecker<VER_MAJOR, VER_MINOR, TYPE>

source

pub const VERSION_MISMATCH: () = _

Auto Trait Implementations§

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> RefUnwindSafe for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where - TYPE: RefUnwindSafe,

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Send for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where - TYPE: Send,

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Sync for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where - TYPE: Sync,

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> Unpin for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where - TYPE: Unpin,

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16, TYPE: ?Sized> UnwindSafe for VersionChecker<VER_MAJOR, VER_MINOR, TYPE>
where - TYPE: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where +VersionChecker in versioned_binary_serialization::bincode_serializer - Rust +
pub struct VersionChecker<VER: StaticVersionType, TYPE: ?Sized + Versioned> { /* private fields */ }

Implementations§

Auto Trait Implementations§

§

impl<VER, TYPE: ?Sized> RefUnwindSafe for VersionChecker<VER, TYPE>
where + TYPE: RefUnwindSafe, + VER: RefUnwindSafe,

§

impl<VER, TYPE: ?Sized> Send for VersionChecker<VER, TYPE>
where + TYPE: Send, + VER: Send,

§

impl<VER, TYPE: ?Sized> Sync for VersionChecker<VER, TYPE>
where + TYPE: Sync, + VER: Sync,

§

impl<VER, TYPE: ?Sized> Unpin for VersionChecker<VER, TYPE>
where + TYPE: Unpin, + VER: Unpin,

§

impl<VER, TYPE: ?Sized> UnwindSafe for VersionChecker<VER, TYPE>
where + TYPE: UnwindSafe, + VER: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/versioned_binary_serialization/bincode_serializer/struct.VersionedBincodeSerializer.html b/versioned_binary_serialization/bincode_serializer/struct.VersionedBincodeSerializer.html index 704f3b6..b2a2077 100644 --- a/versioned_binary_serialization/bincode_serializer/struct.VersionedBincodeSerializer.html +++ b/versioned_binary_serialization/bincode_serializer/struct.VersionedBincodeSerializer.html @@ -1,9 +1,14 @@ -VersionedBincodeSerializer in versioned_binary_serialization::bincode_serializer - Rust -
pub struct VersionedBincodeSerializer<const VER_MAJOR: u16, const VER_MINOR: u16>;

Trait Implementations§

source§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> VersionedBinarySerializer for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

source§

const MAJOR: u16 = VER_MAJOR

source§

const MINOR: u16 = VER_MINOR

source§

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + Versioned + ?Sized,

source§

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a> + Versioned,

source§

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + Versioned + ?Sized,

source§

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a> + Versioned,

source§

fn version() -> Version

Auto Trait Implementations§

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> RefUnwindSafe for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Send for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Sync for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> Unpin for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> UnwindSafe for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

Blanket Implementations§

source§

impl<T> Any for T
where +VersionedBincodeSerializer in versioned_binary_serialization::bincode_serializer - Rust +
pub struct VersionedBincodeSerializer<VER: StaticVersionType>(/* private fields */);

Trait Implementations§

source§

impl<VER: StaticVersionType> VersionedBinarySerializer for VersionedBincodeSerializer<VER>

source§

const MAJOR: u16 = VER::MAJOR

source§

const MINOR: u16 = VER::MINOR

§

type StaticVersion = VER

source§

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + Versioned + ?Sized,

source§

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a> + Versioned,

source§

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + Versioned + ?Sized,

source§

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a> + Versioned,

source§

fn version() -> Version

Auto Trait Implementations§

§

impl<VER> RefUnwindSafe for VersionedBincodeSerializer<VER>
where + VER: RefUnwindSafe,

§

impl<VER> Send for VersionedBincodeSerializer<VER>
where + VER: Send,

§

impl<VER> Sync for VersionedBincodeSerializer<VER>
where + VER: Sync,

§

impl<VER> Unpin for VersionedBincodeSerializer<VER>
where + VER: Unpin,

§

impl<VER> UnwindSafe for VersionedBincodeSerializer<VER>
where + VER: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/versioned_binary_serialization/bincode_serializer/trait.VersionedBinarySerializer.html b/versioned_binary_serialization/bincode_serializer/trait.VersionedBinarySerializer.html index 4bb1df1..d26cd99 100644 --- a/versioned_binary_serialization/bincode_serializer/trait.VersionedBinarySerializer.html +++ b/versioned_binary_serialization/bincode_serializer/trait.VersionedBinarySerializer.html @@ -1,22 +1,24 @@ -VersionedBinarySerializer in versioned_binary_serialization::bincode_serializer - Rust -
pub trait VersionedBinarySerializer {
+VersionedBinarySerializer in versioned_binary_serialization::bincode_serializer - Rust
+    
pub trait VersionedBinarySerializer {
+    type StaticVersion: StaticVersionType;
+
     const MAJOR: u16;
     const MINOR: u16;
 
     // Required methods
-    fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
+    fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
        where T: Serialize + Versioned + ?Sized;
-    fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
+    fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
        where T: Deserialize<'a> + Versioned;
-    fn serialize<T>(value: &T) -> Result<Vec<u8>>
+    fn serialize<T>(value: &T) -> Result<Vec<u8>>
        where T: Serialize + Versioned + ?Sized;
-    fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
+    fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
        where T: Deserialize<'a> + Versioned;
 
     // Provided method
     fn version() -> Version { ... }
-}

Required Associated Constants§

Required Methods§

source

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + Versioned + ?Sized,

source

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a> + Versioned,

source

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where - T: Serialize + Versioned + ?Sized,

source

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where - T: Deserialize<'a> + Versioned,

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<const VER_MAJOR: u16, const VER_MINOR: u16> VersionedBinarySerializer for VersionedBincodeSerializer<VER_MAJOR, VER_MINOR>

source§

const MAJOR: u16 = VER_MAJOR

source§

const MINOR: u16 = VER_MINOR

\ No newline at end of file +}

Required Associated Types§

Required Associated Constants§

Required Methods§

source

fn serialize_no_version<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + Versioned + ?Sized,

source

fn deserialize_no_version<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a> + Versioned,

source

fn serialize<T>(value: &T) -> Result<Vec<u8>>
where + T: Serialize + Versioned + ?Sized,

source

fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
where + T: Deserialize<'a> + Versioned,

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/versioned_binary_serialization/index.html b/versioned_binary_serialization/index.html index 4ca874a..644af27 100644 --- a/versioned_binary_serialization/index.html +++ b/versioned_binary_serialization/index.html @@ -1,3 +1,3 @@ -versioned_binary_serialization - Rust