You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Can anybody explain, why deserialize tokens don't match the serialized one (Token::Some is missed)? For me that seems as an error, because non-flatten option can't be deserialized in the same manner:
use serde::Deserialize;use serde_test::{assert_de_tokens,Token};#[derive(Debug,PartialEq,Deserialize)]structOuter{#[serde(flatten)]inner:Inner,}#[derive(Debug,PartialEq,Deserialize)]structInner{option:Option<u64>,}/// Failed with/// tokens failed to deserialize: invalid type: integer `2`, expected option#[test]fnordinal(){assert_de_tokens(&Inner{option:Some(2),},&[Token::Map{len:None},Token::Str("option"),Token::U64(2),Token::MapEnd,],);}/// Success (!?)#[test]fnflatten(){assert_de_tokens(&Outer{inner:Inner{option:Some(2),},},&[Token::Map{len:None},Token::Str("option"),Token::U64(2),Token::MapEnd,],);}
The text was updated successfully, but these errors were encountered:
I found that test in the sources:
https://github.com/serde-rs/serde/blob/e6f086d85edfa3bde3f4486142301962ec5f1c8c/test_suite/tests/test_annotations.rs#L1824-L1925
Can anybody explain, why deserialize tokens don't match the serialized one (
Token::Some
is missed)? For me that seems as an error, because non-flatten option can't be deserialized in the same manner:The text was updated successfully, but these errors were encountered: