From 7e270cbae99a6dbc187558618f21721bbfa4aca9 Mon Sep 17 00:00:00 2001 From: Elias Rohrer Date: Thu, 17 Aug 2023 10:50:23 +0200 Subject: [PATCH 1/1] Don't require import of internal macros Commit f560320b introduced changes that require users of `impl_writeable_tlv_based`/`impl_writeable_tlv_based_enum` to import `_encode_varint_length_prefixed_tlv` and `alloc` separately. Here, we take care of the necessary imports in `_encode_varint_length_prefixed_tlv` itself, allowing users to just import the `impl_writeable_tlv_based` variant they need. --- lightning/src/util/ser_macros.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lightning/src/util/ser_macros.rs b/lightning/src/util/ser_macros.rs index a68dae39..2626509f 100644 --- a/lightning/src/util/ser_macros.rs +++ b/lightning/src/util/ser_macros.rs @@ -231,9 +231,10 @@ macro_rules! _get_varint_length_prefixed_tlv_length { #[macro_export] macro_rules! _encode_varint_length_prefixed_tlv { ($stream: expr, {$(($type: expr, $field: expr, $fieldty: tt)),*}) => { { - _encode_varint_length_prefixed_tlv!($stream, {$(($type, $field, $fieldty)),*}, &[]) + $crate::_encode_varint_length_prefixed_tlv!($stream, {$(($type, $field, $fieldty)),*}, &[]) } }; ($stream: expr, {$(($type: expr, $field: expr, $fieldty: tt)),*}, $extra_tlvs: expr) => { { + extern crate alloc; use $crate::util::ser::BigSize; use alloc::vec::Vec; let len = { @@ -814,8 +815,7 @@ macro_rules! _init_and_read_tlv_fields { /// /// For example, /// ``` -/// # use lightning::{impl_writeable_tlv_based, _encode_varint_length_prefixed_tlv}; -/// # extern crate alloc; +/// # use lightning::impl_writeable_tlv_based; /// struct LightningMessage { /// tlv_integer: u32, /// tlv_default_integer: u32, -- 2.30.2