Skip to content

Commit 49d04c2

Browse files
committed
Don't initialise Vecs being read with VecReadWrapper explicitly
This simplifies the tlv serialization read macro somewhat by allowing callsites to simply read into an `Option<Vec>` instead of needing to read into an `Option<VecReadWrapper>` when using `vec_type`.
1 parent 64159b3 commit 49d04c2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lightning/src/util/ser_macros.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ macro_rules! decode_tlv {
154154
$field = ser::Readable::read(&mut $reader)?;
155155
}};
156156
($reader: expr, $field: ident, vec_type) => {{
157-
$field = Some(ser::Readable::read(&mut $reader)?);
157+
let f: ::util::ser::VecReadWrapper<_> = ser::Readable::read(&mut $reader)?;
158+
$field = Some(f.0);
158159
}};
159160
($reader: expr, $field: ident, option) => {{
160161
$field = Some(ser::Readable::read(&mut $reader)?);
@@ -398,7 +399,7 @@ macro_rules! init_tlv_based_struct_field {
398399
$field.0.unwrap()
399400
};
400401
($field: ident, vec_type) => {
401-
$field.unwrap().0
402+
$field.unwrap()
402403
};
403404
}
404405

@@ -410,7 +411,7 @@ macro_rules! init_tlv_field_var {
410411
let mut $field = ::util::ser::OptionDeserWrapper(None);
411412
};
412413
($field: ident, vec_type) => {
413-
let mut $field = Some(::util::ser::VecReadWrapper(Vec::new()));
414+
let mut $field = Some(Vec::new());
414415
};
415416
($field: ident, option) => {
416417
let mut $field = None;

0 commit comments

Comments
 (0)