macro_rules! impl_writeable_tlv_based_enum_upgradable {
    ($st: ident, $(($variant_id: expr, $variant_name: ident) =>
		{$(($type: expr, $field: ident, $fieldty: tt)),* $(,)*}
	),* $(,)*
	$(;
	$(($tuple_variant_id: expr, $tuple_variant_name: ident)),*  $(,)*)*) => { ... };
}
Expand description

Implement MaybeReadable and Writeable for an enum, with struct variants stored as TLVs and tuple variants stored directly.

This is largely identical to impl_writeable_tlv_based_enum, except that odd variants will return Ok(None) instead of Err(DecodeError::UnknownRequiredFeature). It should generally be preferred when MaybeReadable is practical instead of just Readable as it provides an upgrade path for new variants to be added which are simply ignored by existing clients.