File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -482,6 +482,14 @@ impl<'de> IntoDeserializer<'de, Error> for Value {
482482 }
483483}
484484
485+ impl < ' de > IntoDeserializer < ' de , Error > for & ' de Value {
486+ type Deserializer = Self ;
487+
488+ fn into_deserializer ( self ) -> Self :: Deserializer {
489+ self
490+ }
491+ }
492+
485493struct VariantDeserializer {
486494 value : Option < Value > ,
487495}
Original file line number Diff line number Diff line change @@ -2472,6 +2472,12 @@ fn test_value_into_deserializer() {
24722472 let mut map = BTreeMap :: new ( ) ;
24732473 map. insert ( "inner" , json ! ( { "string" : "Hello World" } ) ) ;
24742474
2475+ let outer = Outer :: deserialize ( serde:: de:: value:: MapDeserializer :: new (
2476+ map. iter ( ) . map ( |( k, v) | ( * k, v) ) ,
2477+ ) )
2478+ . unwrap ( ) ;
2479+ assert_eq ! ( outer. inner. string, "Hello World" ) ;
2480+
24752481 let outer = Outer :: deserialize ( map. into_deserializer ( ) ) . unwrap ( ) ;
24762482 assert_eq ! ( outer. inner. string, "Hello World" ) ;
24772483}
You can’t perform that action at this time.
0 commit comments