@@ -33,7 +33,7 @@ use std::time::{Duration, UNIX_EPOCH};
33
33
use std:: sync:: atomic:: { AtomicI64 , AtomicU64 } ;
34
34
35
35
use fnv:: FnvHasher ;
36
- use serde:: de:: DeserializeOwned ;
36
+ use serde:: de:: { DeserializeOwned , IntoDeserializer } ;
37
37
use serde:: { Deserialize , Deserializer } ;
38
38
use serde_test:: { assert_de_tokens, Configure , Token } ;
39
39
@@ -202,9 +202,8 @@ fn assert_de_tokens_ignore(ignorable_tokens: &[Token]) {
202
202
. chain ( vec ! [ Token :: MapEnd ] . into_iter ( ) )
203
203
. collect ( ) ;
204
204
205
- let mut de = serde_test:: Deserializer :: new ( & concated_tokens) ;
206
- let base = IgnoreBase :: deserialize ( & mut de) . unwrap ( ) ;
207
- assert_eq ! ( base, IgnoreBase { a: 1 } ) ;
205
+ let expected = IgnoreBase { a : 1 } ;
206
+ assert_de_tokens ( & expected, & concated_tokens) ;
208
207
}
209
208
210
209
//////////////////////////////////////////////////////////////////////////
@@ -2245,39 +2244,34 @@ fn test_cstr() {
2245
2244
2246
2245
#[ test]
2247
2246
fn test_atomics ( ) {
2248
- fn test < L , A , T > ( load : L , val : T , token : Token )
2247
+ fn test < L , A , T > ( load : L , val : T )
2249
2248
where
2250
2249
L : Fn ( & A , Ordering ) -> T ,
2251
2250
A : DeserializeOwned ,
2252
- T : PartialEq + Debug ,
2251
+ T : PartialEq + Debug + Copy + for < ' de > IntoDeserializer < ' de > ,
2253
2252
{
2254
- let tokens = & [ token] ;
2255
- let mut de = serde_test:: Deserializer :: new ( tokens) ;
2256
- match A :: deserialize ( & mut de) {
2253
+ match A :: deserialize ( val. into_deserializer ( ) ) {
2257
2254
Ok ( v) => {
2258
2255
let loaded = load ( & v, Ordering :: Relaxed ) ;
2259
2256
assert_eq ! ( val, loaded) ;
2260
2257
}
2261
2258
Err ( e) => panic ! ( "tokens failed to deserialize: {}" , e) ,
2262
- } ;
2263
- if de. remaining ( ) > 0 {
2264
- panic ! ( "{} remaining tokens" , de. remaining( ) ) ;
2265
2259
}
2266
2260
}
2267
2261
2268
- test ( AtomicBool :: load, true , Token :: Bool ( true ) ) ;
2269
- test ( AtomicI8 :: load, -127 , Token :: I8 ( - 127i8 ) ) ;
2270
- test ( AtomicI16 :: load, -510 , Token :: I16 ( - 510i16 ) ) ;
2271
- test ( AtomicI32 :: load, -131072 , Token :: I32 ( - 131072i32 ) ) ;
2272
- test ( AtomicIsize :: load, -131072isize , Token :: I32 ( - 131072 ) ) ;
2273
- test ( AtomicU8 :: load, 127 , Token :: U8 ( 127u8 ) ) ;
2274
- test ( AtomicU16 :: load, 510u16 , Token :: U16 ( 510u16 ) ) ;
2275
- test ( AtomicU32 :: load, 131072u32 , Token :: U32 ( 131072u32 ) ) ;
2276
- test ( AtomicUsize :: load, 131072usize , Token :: U32 ( 131072 ) ) ;
2262
+ test ( AtomicBool :: load, true ) ;
2263
+ test ( AtomicI8 :: load, -127i8 ) ;
2264
+ test ( AtomicI16 :: load, -510i16 ) ;
2265
+ test ( AtomicI32 :: load, -131072i32 ) ;
2266
+ test ( AtomicIsize :: load, -131072isize ) ;
2267
+ test ( AtomicU8 :: load, 127u8 ) ;
2268
+ test ( AtomicU16 :: load, 510u16 ) ;
2269
+ test ( AtomicU32 :: load, 131072u32 ) ;
2270
+ test ( AtomicUsize :: load, 131072usize ) ;
2277
2271
2278
2272
#[ cfg( target_arch = "x86_64" ) ]
2279
2273
{
2280
- test ( AtomicI64 :: load, -8589934592 , Token :: I64 ( - 8589934592 ) ) ;
2281
- test ( AtomicU64 :: load, 8589934592u64 , Token :: U64 ( 8589934592 ) ) ;
2274
+ test ( AtomicI64 :: load, -8589934592i64 ) ;
2275
+ test ( AtomicU64 :: load, 8589934592u64 ) ;
2282
2276
}
2283
2277
}
0 commit comments