Skip to content

Commit 4ffd464

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 c3d183b commit 4ffd464

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)