@@ -184,11 +184,8 @@ macro_rules! decode_tlv {
184184 ( $reader: expr, $field: ident, ( option: $trait: ident $( , $read_arg: expr) ?) ) => { {
185185 $field = Some ( $trait:: read( & mut $reader $( , $read_arg) * ) ?) ;
186186 } } ;
187- ( $reader: expr, $field: ident, ( option, encoding: ( $fieldty: ty, Iterable <$lifetime: lifetime, $itertype: ty, $valuetype: ty>) ) ) => { {
188- $field = {
189- let field: $crate:: util:: ser:: WithoutLength <$fieldty> = ser:: Readable :: read( & mut $reader) ?;
190- Some ( field. 0 )
191- } ;
187+ ( $reader: expr, $field: ident, ( option, encoding: ( $fieldty: ty, $encoding: ident, $encoder: ty) ) ) => { {
188+ decode_tlv!( $reader, $field, ( option, encoding: ( $fieldty, $encoding) ) ) ;
192189 } } ;
193190 ( $reader: expr, $field: ident, ( option, encoding: ( $fieldty: ty, $encoding: ident) ) ) => { {
194191 $field = {
@@ -555,8 +552,8 @@ macro_rules! tlv_stream {
555552}
556553
557554macro_rules! tlv_record_type {
558- ( ( $type: ty, Iterable <$lifetime: lifetime, $itertype: ty, $valuetype: ty>) ) => { $type } ;
559555 ( ( $type: ty, $wrapper: ident) ) => { $type } ;
556+ ( ( $type: ty, $wrapper: ident, $encoder: ty) ) => { $type } ;
560557 ( $type: ty) => { $type } ;
561558}
562559
@@ -566,10 +563,8 @@ macro_rules! tlv_record_ref_type {
566563 ( ( u16 , $wrapper: ident) ) => { u16 } ;
567564 ( ( u32 , $wrapper: ident) ) => { u32 } ;
568565 ( ( u64 , $wrapper: ident) ) => { u64 } ;
569- ( ( $type: ty, Iterable <$lifetime: lifetime, $itertype: ty, $valuetype: ty>) ) => {
570- Iterable <$lifetime, $itertype, $valuetype>
571- } ;
572566 ( ( $type: ty, $wrapper: ident) ) => { & ' a $type } ;
567+ ( ( $type: ty, $wrapper: ident, $encoder: ty) ) => { $encoder } ;
573568 ( $type: ty) => { & ' a $type } ;
574569}
575570
0 commit comments