@@ -89,7 +89,6 @@ use crate::{
8989use derive_more:: { Constructor , From , TryFrom } ;
9090use serde:: {
9191 de:: { self , Visitor } ,
92- ser:: SerializeSeq ,
9392 Deserialize , Deserializer , Serialize , Serializer ,
9493} ;
9594/// Represents a Concise Reference Integrity Manifest (CoRIM)
@@ -130,20 +129,10 @@ impl<'a> Serialize for ConciseRimTypeChoice<'a> {
130129 where
131130 S : Serializer ,
132131 {
133- let mut seq = serializer. serialize_seq ( Some ( 2 ) ) ?;
134-
135132 match self {
136- Self :: TaggedUnsignedCorimMap ( tagged) => {
137- seq. serialize_element ( & 501u16 ) ?; // Tag 501 for TaggedUnsignedCorimMap
138- seq. serialize_element ( & tagged. 0 . 0 ) ?;
139- }
140- Self :: SignedCorim ( tagged) => {
141- seq. serialize_element ( & 18u16 ) ?; // Tag 18 for TaggedCOSESign1Corim or SignedCorim
142- seq. serialize_element ( & tagged. 0 . 0 ) ?;
143- }
133+ Self :: TaggedUnsignedCorimMap ( tagged) => tagged. serialize ( serializer) ,
134+ Self :: SignedCorim ( tagged) => tagged. serialize ( serializer) ,
144135 }
145-
146- seq. end ( )
147136 }
148137}
149138
@@ -338,25 +327,11 @@ impl<'a> Serialize for ConciseTagTypeChoice<'a> {
338327 where
339328 S : Serializer ,
340329 {
341- // CBOR tags are represented as a 2-element sequence: [tag, value]
342- let mut seq = serializer. serialize_seq ( Some ( 2 ) ) ?;
343-
344330 match self {
345- ConciseTagTypeChoice :: Swid ( tagged) => {
346- seq. serialize_element ( & 505u16 ) ?; // Tag 505 for Swid
347- seq. serialize_element ( & tagged. 0 . 0 ) ?; // Inner ConciseSwidTag
348- }
349- ConciseTagTypeChoice :: Mid ( tagged) => {
350- seq. serialize_element ( & 506u16 ) ?; // Tag 506 for Mid
351- seq. serialize_element ( & tagged. 0 . 0 ) ?; // Inner ConciseMidTag
352- }
353- ConciseTagTypeChoice :: Tl ( tagged) => {
354- seq. serialize_element ( & 507u16 ) ?; // Tag 507 for Tl
355- seq. serialize_element ( & tagged. 0 . 0 ) ?; // Inner ConciseTlTag
356- }
331+ Self :: Swid ( tagged_concise_swid_tag) => tagged_concise_swid_tag. serialize ( serializer) ,
332+ Self :: Mid ( tagged_concise_mid_tag) => tagged_concise_mid_tag. serialize ( serializer) ,
333+ Self :: Tl ( tagged_concise_tl_tag) => tagged_concise_tl_tag. serialize ( serializer) ,
357334 }
358-
359- seq. end ( )
360335 }
361336}
362337impl < ' de , ' a > Deserialize < ' de > for ConciseTagTypeChoice < ' a > {
@@ -526,19 +501,10 @@ impl<'a> Serialize for ProfileTypeChoice<'a> {
526501 where
527502 S : Serializer ,
528503 {
529- let mut seq = serializer. serialize_seq ( Some ( 2 ) ) ?;
530-
531504 match self {
532- ProfileTypeChoice :: Uri ( tagged) => {
533- seq. serialize_element ( & 32u16 ) ?; // Tag 32 for Uri
534- seq. serialize_element ( & tagged. 0 . 0 ) ?;
535- }
536- ProfileTypeChoice :: OidType ( tagged) => {
537- seq. serialize_element ( & 111u16 ) ?; // Tag 111 for OidType
538- seq. serialize_element ( & tagged. 0 . 0 ) ?;
539- }
505+ Self :: Uri ( uri) => uri. serialize ( serializer) ,
506+ Self :: OidType ( oid) => oid. serialize ( serializer) ,
540507 }
541- seq. end ( )
542508 }
543509}
544510
0 commit comments