DOC: Mention serde-1 feature

This commit is contained in:
bluss
2017-09-11 19:43:17 +02:00
parent cea481f494
commit f33c4e44dd
3 changed files with 12 additions and 1 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ matches = { version = "0.1" }
[features] [features]
default = ["std"] default = ["std"]
std = ["odds/std", "nodrop/std"] std = ["odds/std", "nodrop/std"]
use_union = ["nodrop/use_union"] use_union = []
serde-1 = ["serde"] serde-1 = ["serde"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
+2
View File
@@ -371,6 +371,7 @@ impl<A: Array<Item=u8>> Ord for ArrayString<A> {
} }
#[cfg(feature="serde-1")] #[cfg(feature="serde-1")]
/// Requires crate feature `"serde-1"`
impl<A: Array<Item=u8>> Serialize for ArrayString<A> { impl<A: Array<Item=u8>> Serialize for ArrayString<A> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer where S: Serializer
@@ -380,6 +381,7 @@ impl<A: Array<Item=u8>> Serialize for ArrayString<A> {
} }
#[cfg(feature="serde-1")] #[cfg(feature="serde-1")]
/// Requires crate feature `"serde-1"`
impl<'de, A: Array<Item=u8>> Deserialize<'de> for ArrayString<A> { impl<'de, A: Array<Item=u8>> Deserialize<'de> for ArrayString<A> {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de> where D: Deserializer<'de>
+9
View File
@@ -15,6 +15,9 @@
//! to do nothing in the future. //! to do nothing in the future.
//! - Use the unstable feature untagged unions for the internal implementation, //! - Use the unstable feature untagged unions for the internal implementation,
//! which may have reduced space overhead //! which may have reduced space overhead
//! - `serde-1`
//! - Optional
//! - Enable serialization for ArrayVec and ArrayString using serde 1.0
//! //!
//! ## Rust Version //! ## Rust Version
//! //!
@@ -48,8 +51,12 @@ use std::fmt;
#[cfg(feature="std")] #[cfg(feature="std")]
use std::io; use std::io;
#[cfg(not(feature="use_union"))]
use nodrop::NoDrop; use nodrop::NoDrop;
#[cfg(feature="use_union")]
use std::mem::ManuallyDrop as NoDrop;
#[cfg(feature="serde-1")] #[cfg(feature="serde-1")]
use serde::{Serialize, Deserialize, Serializer, Deserializer}; use serde::{Serialize, Deserialize, Serializer, Deserializer};
@@ -965,6 +972,7 @@ impl<A: Array<Item=u8>> io::Write for ArrayVec<A> {
} }
#[cfg(feature="serde-1")] #[cfg(feature="serde-1")]
/// Requires crate feature `"serde-1"`
impl<T: Serialize, A: Array<Item=T>> Serialize for ArrayVec<A> { impl<T: Serialize, A: Array<Item=T>> Serialize for ArrayVec<A> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer where S: Serializer
@@ -974,6 +982,7 @@ impl<T: Serialize, A: Array<Item=T>> Serialize for ArrayVec<A> {
} }
#[cfg(feature="serde-1")] #[cfg(feature="serde-1")]
/// Requires crate feature `"serde-1"`
impl<'de, T: Deserialize<'de>, A: Array<Item=T>> Deserialize<'de> for ArrayVec<A> { impl<'de, T: Deserialize<'de>, A: Array<Item=T>> Deserialize<'de> for ArrayVec<A> {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de> where D: Deserializer<'de>