@@ -556,7 +556,7 @@ pub(super) mod serde {
556
556
557
557
impl Serialize for Dictionary {
558
558
#[ inline]
559
- fn serialize < S > ( & self , ser : S ) -> Result < < S as Serializer > :: Ok , < S as Serializer > :: Error >
559
+ fn serialize < S > ( & self , ser : S ) -> Result < S :: Ok , S :: Error >
560
560
where
561
561
S : Serializer ,
562
562
{
@@ -577,7 +577,7 @@ pub(super) mod serde {
577
577
formatter. write_str ( "a Dictionary" )
578
578
}
579
579
580
- fn visit_map < A > ( self , mut map : A ) -> Result < Self :: Value , < A as MapAccess < ' de > > :: Error >
580
+ fn visit_map < A > ( self , mut map : A ) -> Result < Self :: Value , A :: Error >
581
581
where
582
582
A : MapAccess < ' de > ,
583
583
{
@@ -589,33 +589,15 @@ pub(super) mod serde {
589
589
}
590
590
}
591
591
592
- impl < ' de > Deserialize < ' de > for Dictionary < Unique > {
592
+ impl < ' de , Access : ThreadAccess > Deserialize < ' de > for Dictionary < Access > {
593
593
#[ inline]
594
594
fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
595
595
where
596
596
D : Deserializer < ' de > ,
597
597
{
598
- deserializer. deserialize_map ( DictionaryVisitor )
599
- }
600
- }
601
-
602
- impl < ' de > Deserialize < ' de > for Dictionary < Shared > {
603
- #[ inline]
604
- fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
605
- where
606
- D : Deserializer < ' de > ,
607
- {
608
- Dictionary :: < Unique > :: deserialize ( deserializer) . map ( Dictionary :: into_shared)
609
- }
610
- }
611
-
612
- impl < ' de > Deserialize < ' de > for Dictionary < ThreadLocal > {
613
- #[ inline]
614
- fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
615
- where
616
- D : Deserializer < ' de > ,
617
- {
618
- Dictionary :: < Unique > :: deserialize ( deserializer) . map ( Dictionary :: into_thread_local)
598
+ deserializer
599
+ . deserialize_map ( DictionaryVisitor )
600
+ . map ( |dict| unsafe { dict. cast_access ( ) } )
619
601
}
620
602
}
621
603
}
0 commit comments