diff --git a/src/serde/mod.rs b/src/serde/mod.rs index b6a30d4..102a051 100644 --- a/src/serde/mod.rs +++ b/src/serde/mod.rs @@ -33,8 +33,9 @@ mod writer; /// If this returns an `SerializeError` (other than SizeLimit), assume that the /// writer is in an invalid state, as writing could bail out in the middle of /// serializing. -pub fn serialize_into(writer: &mut W, value: &T, size_limit: SizeLimit) -> SerializeResult<()> - where W: Write, T: serde::Serialize, +pub fn serialize_into(writer: &mut W, value: &T, size_limit: SizeLimit) -> SerializeResult<()> + where W: Write, + T: serde::Serialize, { match size_limit { SizeLimit::Infinite => { } @@ -52,8 +53,8 @@ pub fn serialize_into(writer: &mut W, value: &T, size_limit: SizeLimit) -> /// /// If the serialization would take more bytes than allowed by `size_limit`, /// an error is returned. -pub fn serialize(value: &T, size_limit: SizeLimit) -> SerializeResult> - where T: serde::Serialize, +pub fn serialize(value: &T, size_limit: SizeLimit) -> SerializeResult> + where T: serde::Serialize { // Since we are putting values directly into a vector, we can do size // computation out here and pre-allocate a buffer of *exactly* @@ -77,7 +78,9 @@ pub fn serialize(value: &T, size_limit: SizeLimit) -> SerializeResult /// /// This is used internally as part of the check for encode_into, but it can /// be useful for preallocating buffers if thats your style. -pub fn serialized_size(value: &T) -> u64 { +pub fn serialized_size(value: &T) -> u64 + where T: serde::Serialize +{ use std::u64::MAX; let mut size_checker = SizeChecker::new(MAX); value.serialize(&mut size_checker).ok(); @@ -89,7 +92,9 @@ pub fn serialized_size(value: &T) -> u64 { /// /// If it can be serialized in `max` or fewer bytes, that number will be returned /// inside `Some`. If it goes over bounds, then None is returned. -pub fn serialized_size_bounded(value: &T, max: u64) -> Option { +pub fn serialized_size_bounded(value: &T, max: u64) -> Option + where T: serde::Serialize +{ let mut size_checker = SizeChecker::new(max); value.serialize(&mut size_checker).ok().map(|_| size_checker.written) } @@ -103,7 +108,7 @@ pub fn serialized_size_bounded(value: &T, max: u64) -> Opti /// If this returns an `DeserializeError`, assume that the buffer that you passed /// in is in an invalid state, as the error could be returned during any point /// in the reading. -pub fn deserialize_from(reader: &mut R, size_limit: SizeLimit) -> DeserializeResult +pub fn deserialize_from(reader: &mut R, size_limit: SizeLimit) -> DeserializeResult where R: Read, T: serde::Deserialize, {