Add a 'de lifetime to the deserialize traits

This commit is contained in:
David Tolnay
2017-03-26 22:56:58 -07:00
parent 59b3961ad4
commit d3a2f5e268
13 changed files with 640 additions and 563 deletions
+6 -6
View File
@@ -8,8 +8,8 @@ use token::Token;
use std::fmt::Debug;
/// Runs both `assert_ser_tokens` and `assert_de_tokens`.
pub fn assert_tokens<T>(value: &T, tokens: &[Token<'static>])
where T: Serialize + Deserialize + PartialEq + Debug
pub fn assert_tokens<'de, T>(value: &T, tokens: &[Token<'static>])
where T: Serialize + Deserialize<'de> + PartialEq + Debug
{
assert_ser_tokens(value, tokens);
assert_de_tokens(value, tokens);
@@ -35,8 +35,8 @@ pub fn assert_ser_tokens_error<T>(value: &T, tokens: &[Token], error: Error)
}
/// Asserts that the given `tokens` deserialize into `value`.
pub fn assert_de_tokens<T>(value: &T, tokens: &[Token<'static>])
where T: Deserialize + PartialEq + Debug
pub fn assert_de_tokens<'de, T>(value: &T, tokens: &[Token<'static>])
where T: Deserialize<'de> + PartialEq + Debug
{
let mut de = Deserializer::new(tokens.to_vec().into_iter());
let v: Result<T, Error> = Deserialize::deserialize(&mut de);
@@ -45,8 +45,8 @@ pub fn assert_de_tokens<T>(value: &T, tokens: &[Token<'static>])
}
/// Asserts that the given `tokens` yield `error` when deserializing.
pub fn assert_de_tokens_error<T>(tokens: &[Token<'static>], error: Error)
where T: Deserialize + PartialEq + Debug
pub fn assert_de_tokens_error<'de, T>(tokens: &[Token<'static>], error: Error)
where T: Deserialize<'de> + PartialEq + Debug
{
let mut de = Deserializer::new(tokens.to_vec().into_iter());
let v: Result<T, Error> = Deserialize::deserialize(&mut de);