From f33c4e44ddf3a0fb87d0308362135ded9e5de91f Mon Sep 17 00:00:00 2001 From: bluss Date: Mon, 11 Sep 2017 19:43:17 +0200 Subject: [PATCH] DOC: Mention serde-1 feature --- Cargo.toml | 2 +- src/array_string.rs | 2 ++ src/lib.rs | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 184d6e16..9f619c37 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ matches = { version = "0.1" } [features] default = ["std"] std = ["odds/std", "nodrop/std"] -use_union = ["nodrop/use_union"] +use_union = [] serde-1 = ["serde"] [package.metadata.docs.rs] diff --git a/src/array_string.rs b/src/array_string.rs index 42e186a0..25beb460 100644 --- a/src/array_string.rs +++ b/src/array_string.rs @@ -371,6 +371,7 @@ impl> Ord for ArrayString { } #[cfg(feature="serde-1")] +/// Requires crate feature `"serde-1"` impl> Serialize for ArrayString { fn serialize(&self, serializer: S) -> Result where S: Serializer @@ -380,6 +381,7 @@ impl> Serialize for ArrayString { } #[cfg(feature="serde-1")] +/// Requires crate feature `"serde-1"` impl<'de, A: Array> Deserialize<'de> for ArrayString { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de> diff --git a/src/lib.rs b/src/lib.rs index 6b16042f..dacb6b48 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,6 +15,9 @@ //! to do nothing in the future. //! - Use the unstable feature untagged unions for the internal implementation, //! which may have reduced space overhead +//! - `serde-1` +//! - Optional +//! - Enable serialization for ArrayVec and ArrayString using serde 1.0 //! //! ## Rust Version //! @@ -48,8 +51,12 @@ use std::fmt; #[cfg(feature="std")] use std::io; +#[cfg(not(feature="use_union"))] use nodrop::NoDrop; +#[cfg(feature="use_union")] +use std::mem::ManuallyDrop as NoDrop; + #[cfg(feature="serde-1")] use serde::{Serialize, Deserialize, Serializer, Deserializer}; @@ -965,6 +972,7 @@ impl> io::Write for ArrayVec { } #[cfg(feature="serde-1")] +/// Requires crate feature `"serde-1"` impl> Serialize for ArrayVec { fn serialize(&self, serializer: S) -> Result where S: Serializer @@ -974,6 +982,7 @@ impl> Serialize for ArrayVec { } #[cfg(feature="serde-1")] +/// Requires crate feature `"serde-1"` impl<'de, T: Deserialize<'de>, A: Array> Deserialize<'de> for ArrayVec { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de>