From 41b76e9d0801910c08d25087337f98797d552662 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Fri, 2 Nov 2018 10:20:57 +0100 Subject: [PATCH] Serde and rayon behind feature flags. --- src/.#serde.rs | 1 + src/lib.rs | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 120000 src/.#serde.rs diff --git a/src/.#serde.rs b/src/.#serde.rs new file mode 120000 index 0000000..b67cfec --- /dev/null +++ b/src/.#serde.rs @@ -0,0 +1 @@ +olsson@mr-krusty.local.98510 \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index c549395..a4dddde 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,7 @@ extern crate hashbrown; +#[cfg(feature="rayon")] extern crate rayon; +#[cfg(feature="serde")] extern crate serde; extern crate unreachable; @@ -9,10 +11,14 @@ use std::iter::{FromIterator, IntoIterator, Iterator}; use std::ops; use hashbrown::HashMap; +#[cfg(feature="rayon")] use rayon::iter::{FromParallelIterator, IntoParallelIterator, ParallelExtend, ParallelIterator}; -use serde::de::{SeqAccess, Visitor}; -use serde::ser::SerializeSeq; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +#[cfg(feature="serde")] +use serde::{ + {Deserialize, Deserializer, Serialize, Serializer}, + de::{SeqAccess, Visitor}, + ser::SerializeSeq, +}; const BITS: u64 = 64; @@ -376,6 +382,7 @@ impl Iterator for IntoIter { } } +#[cfg(feature="rayon")] impl ParallelExtend for BitSet { fn par_extend(&mut self, par_iter: I) where @@ -399,6 +406,7 @@ impl ParallelExtend for BitSet { } } +#[cfg(feature="rayon")] impl FromParallelIterator for BitSet { fn from_par_iter(par_iter: I) -> Self where @@ -410,6 +418,7 @@ impl FromParallelIterator for BitSet { } } +#[cfg(feature="serde")] impl Serialize for BitSet { #[inline] fn serialize(&self, serializer: S) -> Result @@ -424,6 +433,7 @@ impl Serialize for BitSet { } } +#[cfg(feature="serde")] impl<'de> Deserialize<'de> for BitSet { fn deserialize(deserializer: D) -> Result where