X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Futil%2Fser.rs;h=5b1a86a6a95f27a276f1dc221bd705f57fbf8ed4;hb=82474d356403d6b91c6b8ad1937e942f53f809e8;hp=d26be4c9ef7a354873cd8c431419b5f1e72bc9e7;hpb=dcc445fa85e3dd85797d2cab35276f13a0f56184;p=rust-lightning diff --git a/lightning/src/util/ser.rs b/lightning/src/util/ser.rs index d26be4c9..5b1a86a6 100644 --- a/lightning/src/util/ser.rs +++ b/lightning/src/util/ser.rs @@ -268,6 +268,12 @@ impl Readable for OptionDeserWrapper { Ok(Self(Some(Readable::read(reader)?))) } } +/// When handling default_values, we want to map the default-value T directly +/// to a OptionDeserWrapper in a way that works for `field: T = t;` as +/// well. Thus, we assume `Into for T` does nothing and use that. +impl From for OptionDeserWrapper { + fn from(t: T) -> OptionDeserWrapper { OptionDeserWrapper(Some(t)) } +} /// Wrapper to write each element of a Vec with no length prefix pub(crate) struct VecWriteWrapper<'a, T: Writeable>(pub &'a Vec);