diff --git a/Cargo.toml b/Cargo.toml index f06bd35..9dd522d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ edition = "2018" [dependencies] num-traits = "0.2.14" serde = { version="1.0", features=["derive"], optional=true } -bincode = { version = "2.0", features=["derive"], optional=true } +wincode = { version = "0.5.5", features=["derive"], optional=true } [dev-dependencies] criterion = "0.6" diff --git a/src/lib.rs b/src/lib.rs index 7538451..51c933c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,11 +17,11 @@ use std::{ slice, }; -#[cfg(feature = "bincode")] -use bincode::{Decode, Encode}; use num_traits::{PrimInt, Zero}; #[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; +#[cfg(feature = "wincode")] +use wincode::{SchemaRead, SchemaWrite}; /// A Vob is a "vector of bits": a sequence of bits which exposes a `Vec`-like interface. Whereas /// `Vec` requires 1 byte of storage per bit, `Vob` requires only 1 bit of storage per bit. @@ -92,7 +92,7 @@ use serde::{Deserialize, Serialize}; /// `Vob`'s [`set_all(false)`](struct.Vob.html#method.set_all) function. #[derive(Clone, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[cfg_attr(feature = "bincode", derive(Encode, Decode))] +#[cfg_attr(feature = "wincode", derive(SchemaRead, SchemaWrite))] pub struct Vob { /// How many bits are stored in this Vob? len: usize,