Skip to content

Commit baa015d

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 7a4f741 commit baa015d

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)?);
@@ -399,7 +400,7 @@ macro_rules! init_tlv_based_struct_field {
399400
$field.0.unwrap()
400401
};
401402
($field: ident, vec_type) => {
402-
$field.unwrap().0
403+
$field.unwrap()
403404
};
404405
}
405406

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

0 commit comments

Comments
 (0)