mirror of
				https://github.com/serde-rs/serde.git
				synced 2025-11-04 07:24:31 +00:00 
			
		
		
		
	Remove unneeded trait bounds
This commit is contained in:
		
							parent
							
								
									d0f846182b
								
							
						
					
					
						commit
						0734b44a3a
					
				@ -30,19 +30,30 @@ where
 | 
				
			|||||||
    T: Serialize,
 | 
					    T: Serialize,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    let mut ser = Serializer::new(tokens);
 | 
					    let mut ser = Serializer::new(tokens);
 | 
				
			||||||
    assert_eq!(Serialize::serialize(value, &mut ser), Ok(()));
 | 
					    match value.serialize(&mut ser) {
 | 
				
			||||||
    assert_eq!(ser.next_token(), None);
 | 
					        Ok(_) => {}
 | 
				
			||||||
 | 
					        Err(err) => panic!("value failed to serialize: {}", err),
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ser.remaining() > 0 {
 | 
				
			||||||
 | 
					        panic!("{} remaining tokens", ser.remaining());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Asserts that `value` serializes to the given `tokens`, and then yields `error`.
 | 
					/// Asserts that `value` serializes to the given `tokens`, and then yields `error`.
 | 
				
			||||||
pub fn assert_ser_tokens_error<T>(value: &T, tokens: &[Token], error: Error)
 | 
					pub fn assert_ser_tokens_error<T>(value: &T, tokens: &[Token], expected: Error)
 | 
				
			||||||
where
 | 
					where
 | 
				
			||||||
    T: Serialize + PartialEq + Debug,
 | 
					    T: Serialize,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    let mut ser = Serializer::new(tokens);
 | 
					    let mut ser = Serializer::new(tokens);
 | 
				
			||||||
    let v: Result<(), Error> = Serialize::serialize(value, &mut ser);
 | 
					    match value.serialize(&mut ser) {
 | 
				
			||||||
    assert_eq!(v.as_ref(), Err(&error));
 | 
					        Ok(_) => panic!("value serialized successfully"),
 | 
				
			||||||
    assert_eq!(ser.next_token(), None);
 | 
					        Err(err) => assert_eq!(err, expected),
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ser.remaining() > 0 {
 | 
				
			||||||
 | 
					        panic!("{} remaining tokens", ser.remaining());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Asserts that the given `tokens` deserialize into `value`.
 | 
					/// Asserts that the given `tokens` deserialize into `value`.
 | 
				
			||||||
@ -51,20 +62,31 @@ where
 | 
				
			|||||||
    T: Deserialize<'de> + PartialEq + Debug,
 | 
					    T: Deserialize<'de> + PartialEq + Debug,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    let mut de = Deserializer::new(tokens);
 | 
					    let mut de = Deserializer::new(tokens);
 | 
				
			||||||
    let v: Result<T, Error> = Deserialize::deserialize(&mut de);
 | 
					    match T::deserialize(&mut de) {
 | 
				
			||||||
    assert_eq!(v.as_ref(), Ok(value));
 | 
					        Ok(v) => assert_eq!(v, *value),
 | 
				
			||||||
    assert_eq!(de.next_token(), None);
 | 
					        Err(err) => panic!("tokens failed to deserialize: {}", err),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Asserts that the given `tokens` yield `error` when deserializing.
 | 
					    if de.remaining() > 0 {
 | 
				
			||||||
pub fn assert_de_tokens_error<'de, T>(tokens: &'de [Token], error: Error)
 | 
					        panic!("{} remaining tokens", de.remaining());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// Asserts that the given `tokens` yield `expected` error when deserializing.
 | 
				
			||||||
 | 
					pub fn assert_de_tokens_error<'de, T>(tokens: &'de [Token], expected: Error)
 | 
				
			||||||
where
 | 
					where
 | 
				
			||||||
    T: Deserialize<'de> + PartialEq + Debug,
 | 
					    T: Deserialize<'de>,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    let mut de = Deserializer::new(tokens);
 | 
					    let mut de = Deserializer::new(tokens);
 | 
				
			||||||
    let v: Result<T, Error> = Deserialize::deserialize(&mut de);
 | 
					    match T::deserialize(&mut de) {
 | 
				
			||||||
    assert_eq!(v, Err(error));
 | 
					        Ok(_) => panic!("tokens deserialized successfully"),
 | 
				
			||||||
 | 
					        Err(err) => assert_eq!(err, expected),
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // There may be one token left if a peek caused the error
 | 
					    // There may be one token left if a peek caused the error
 | 
				
			||||||
    de.next_token();
 | 
					    de.next_token();
 | 
				
			||||||
    assert_eq!(de.next_token(), None);
 | 
					
 | 
				
			||||||
 | 
					    if de.remaining() > 0 {
 | 
				
			||||||
 | 
					        panic!("{} remaining tokens", de.remaining());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -49,6 +49,10 @@ impl<'de> Deserializer<'de> {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pub fn remaining(&self) -> usize {
 | 
				
			||||||
 | 
					        self.tokens.len()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fn visit_seq<V>(
 | 
					    fn visit_seq<V>(
 | 
				
			||||||
        &mut self,
 | 
					        &mut self,
 | 
				
			||||||
        len: Option<usize>,
 | 
					        len: Option<usize>,
 | 
				
			||||||
 | 
				
			|||||||
@ -32,6 +32,10 @@ impl<'a> Serializer<'a> {
 | 
				
			|||||||
            None
 | 
					            None
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pub fn remaining(&self) -> usize {
 | 
				
			||||||
 | 
					        self.tokens.len()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
macro_rules! assert_next_token {
 | 
					macro_rules! assert_next_token {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user