rusmpp_core/values/
sub_address.rs

1use 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}