@@ -175,6 +175,17 @@ where
175175 }
176176}
177177
178+ impl < ' de , E > IntoDeserializer < ' de , E > for UnitDeserializer < E >
179+ where
180+ E : de:: Error ,
181+ {
182+ type Deserializer = Self ;
183+
184+ fn into_deserializer ( self ) -> Self {
185+ self
186+ }
187+ }
188+
178189impl < E > Debug for UnitDeserializer < E > {
179190 fn fmt ( & self , formatter : & mut fmt:: Formatter ) -> fmt:: Result {
180191 formatter. debug_struct ( "UnitDeserializer" ) . finish ( )
@@ -225,6 +236,18 @@ where
225236 }
226237}
227238
239+ #[ cfg( feature = "unstable" ) ]
240+ impl < ' de , E > IntoDeserializer < ' de , E > for NeverDeserializer < E >
241+ where
242+ E : de:: Error ,
243+ {
244+ type Deserializer = Self ;
245+
246+ fn into_deserializer ( self ) -> Self {
247+ self
248+ }
249+ }
250+
228251////////////////////////////////////////////////////////////////////////////////
229252
230253macro_rules! primitive_deserializer {
@@ -279,6 +302,17 @@ macro_rules! primitive_deserializer {
279302 }
280303 }
281304
305+ impl <' de, E > IntoDeserializer <' de, E > for $name<E >
306+ where
307+ E : de:: Error ,
308+ {
309+ type Deserializer = Self ;
310+
311+ fn into_deserializer( self ) -> Self {
312+ self
313+ }
314+ }
315+
282316 impl <E > Debug for $name<E > {
283317 fn fmt( & self , formatter: & mut fmt:: Formatter ) -> fmt:: Result {
284318 formatter
@@ -369,6 +403,17 @@ where
369403 }
370404}
371405
406+ impl < ' de , E > IntoDeserializer < ' de , E > for U32Deserializer < E >
407+ where
408+ E : de:: Error ,
409+ {
410+ type Deserializer = Self ;
411+
412+ fn into_deserializer ( self ) -> Self {
413+ self
414+ }
415+ }
416+
372417impl < ' de , E > de:: EnumAccess < ' de > for U32Deserializer < E >
373418where
374419 E : de:: Error ,
@@ -458,6 +503,17 @@ where
458503 }
459504}
460505
506+ impl < ' de , ' a , E > IntoDeserializer < ' de , E > for StrDeserializer < ' a , E >
507+ where
508+ E : de:: Error ,
509+ {
510+ type Deserializer = Self ;
511+
512+ fn into_deserializer ( self ) -> Self {
513+ self
514+ }
515+ }
516+
461517impl < ' de , ' a , E > de:: EnumAccess < ' de > for StrDeserializer < ' a , E >
462518where
463519 E : de:: Error ,
@@ -537,6 +593,17 @@ where
537593 }
538594}
539595
596+ impl < ' de , E > IntoDeserializer < ' de , E > for BorrowedStrDeserializer < ' de , E >
597+ where
598+ E : de:: Error ,
599+ {
600+ type Deserializer = Self ;
601+
602+ fn into_deserializer ( self ) -> Self {
603+ self
604+ }
605+ }
606+
540607impl < ' de , E > de:: EnumAccess < ' de > for BorrowedStrDeserializer < ' de , E >
541608where
542609 E : de:: Error ,
@@ -640,6 +707,18 @@ where
640707 }
641708}
642709
710+ #[ cfg( any( feature = "std" , feature = "alloc" ) ) ]
711+ impl < ' de , E > IntoDeserializer < ' de , E > for StringDeserializer < E >
712+ where
713+ E : de:: Error ,
714+ {
715+ type Deserializer = Self ;
716+
717+ fn into_deserializer ( self ) -> Self {
718+ self
719+ }
720+ }
721+
643722#[ cfg( any( feature = "std" , feature = "alloc" ) ) ]
644723impl < ' de , E > de:: EnumAccess < ' de > for StringDeserializer < E >
645724where
@@ -748,6 +827,18 @@ where
748827 }
749828}
750829
830+ #[ cfg( any( feature = "std" , feature = "alloc" ) ) ]
831+ impl < ' de , ' a , E > IntoDeserializer < ' de , E > for CowStrDeserializer < ' a , E >
832+ where
833+ E : de:: Error ,
834+ {
835+ type Deserializer = Self ;
836+
837+ fn into_deserializer ( self ) -> Self {
838+ self
839+ }
840+ }
841+
751842#[ cfg( any( feature = "std" , feature = "alloc" ) ) ]
752843impl < ' de , ' a , E > de:: EnumAccess < ' de > for CowStrDeserializer < ' a , E >
753844where
@@ -825,6 +916,17 @@ where
825916 }
826917}
827918
919+ impl < ' de , ' a , E > IntoDeserializer < ' de , E > for BytesDeserializer < ' a , E >
920+ where
921+ E : de:: Error ,
922+ {
923+ type Deserializer = Self ;
924+
925+ fn into_deserializer ( self ) -> Self {
926+ self
927+ }
928+ }
929+
828930impl < ' a , E > Debug for BytesDeserializer < ' a , E > {
829931 fn fmt ( & self , formatter : & mut fmt:: Formatter ) -> fmt:: Result {
830932 formatter
@@ -873,6 +975,17 @@ where
873975 }
874976}
875977
978+ impl < ' de , E > IntoDeserializer < ' de , E > for BorrowedBytesDeserializer < ' de , E >
979+ where
980+ E : de:: Error ,
981+ {
982+ type Deserializer = Self ;
983+
984+ fn into_deserializer ( self ) -> Self {
985+ self
986+ }
987+ }
988+
876989impl < ' de , E > Debug for BorrowedBytesDeserializer < ' de , E > {
877990 fn fmt ( & self , formatter : & mut fmt:: Formatter ) -> fmt:: Result {
878991 formatter
@@ -952,6 +1065,19 @@ where
9521065 }
9531066}
9541067
1068+ impl < ' de , I , T , E > IntoDeserializer < ' de , E > for SeqDeserializer < I , E >
1069+ where
1070+ I : Iterator < Item = T > ,
1071+ T : IntoDeserializer < ' de , E > ,
1072+ E : de:: Error ,
1073+ {
1074+ type Deserializer = Self ;
1075+
1076+ fn into_deserializer ( self ) -> Self {
1077+ self
1078+ }
1079+ }
1080+
9551081impl < ' de , I , T , E > de:: SeqAccess < ' de > for SeqDeserializer < I , E >
9561082where
9571083 I : Iterator < Item = T > ,
@@ -1083,6 +1209,17 @@ where
10831209 }
10841210}
10851211
1212+ impl < ' de , A > IntoDeserializer < ' de , A :: Error > for SeqAccessDeserializer < A >
1213+ where
1214+ A : de:: SeqAccess < ' de > ,
1215+ {
1216+ type Deserializer = Self ;
1217+
1218+ fn into_deserializer ( self ) -> Self {
1219+ self
1220+ }
1221+ }
1222+
10861223////////////////////////////////////////////////////////////////////////////////
10871224
10881225/// A deserializer that iterates over a map.
@@ -1197,6 +1334,21 @@ where
11971334 }
11981335}
11991336
1337+ impl < ' de , I , E > IntoDeserializer < ' de , E > for MapDeserializer < ' de , I , E >
1338+ where
1339+ I : Iterator ,
1340+ I :: Item : private:: Pair ,
1341+ First < I :: Item > : IntoDeserializer < ' de , E > ,
1342+ Second < I :: Item > : IntoDeserializer < ' de , E > ,
1343+ E : de:: Error ,
1344+ {
1345+ type Deserializer = Self ;
1346+
1347+ fn into_deserializer ( self ) -> Self {
1348+ self
1349+ }
1350+ }
1351+
12001352impl < ' de , I , E > de:: MapAccess < ' de > for MapDeserializer < ' de , I , E >
12011353where
12021354 I : Iterator ,
@@ -1498,6 +1650,17 @@ where
14981650 }
14991651}
15001652
1653+ impl < ' de , A > IntoDeserializer < ' de , A :: Error > for MapAccessDeserializer < A >
1654+ where
1655+ A : de:: MapAccess < ' de > ,
1656+ {
1657+ type Deserializer = Self ;
1658+
1659+ fn into_deserializer ( self ) -> Self {
1660+ self
1661+ }
1662+ }
1663+
15011664impl < ' de , A > de:: EnumAccess < ' de > for MapAccessDeserializer < A >
15021665where
15031666 A : de:: MapAccess < ' de > ,
@@ -1551,6 +1714,17 @@ where
15511714 }
15521715}
15531716
1717+ impl < ' de , A > IntoDeserializer < ' de , A :: Error > for EnumAccessDeserializer < A >
1718+ where
1719+ A : de:: EnumAccess < ' de > ,
1720+ {
1721+ type Deserializer = Self ;
1722+
1723+ fn into_deserializer ( self ) -> Self {
1724+ self
1725+ }
1726+ }
1727+
15541728////////////////////////////////////////////////////////////////////////////////
15551729
15561730mod private {
0 commit comments