rusmpp_core/values/
sub_address.rs1use rusmpp_macros::Rusmpp;
2
3pub mod borrowed;
4#[cfg(feature = "alloc")]
5#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
6pub mod owned;
7
8#[repr(u8)]
9#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Default, Rusmpp)]
10#[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
11#[cfg_attr(feature = "serde", derive(::serde::Serialize))]
12#[cfg_attr(feature = "serde-deserialize-unchecked", derive(::serde::Deserialize))]
13pub enum SubaddressTag {
14 #[default]
15 NsapEven = 0b10000000,
16 NsapOdd = 0b10001000,
17 UserSpecified = 0b10100000,
18 Other(u8),
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn encode_decode() {
27 #[cfg(feature = "alloc")]
28 crate::tests::owned::encode_decode_test_instances::<SubaddressTag>();
29 crate::tests::borrowed::encode_decode_test_instances::<SubaddressTag>();
30 }
31}