diff options
| -rw-r--r-- | libs/binder/rust/src/binder.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/binder/rust/src/binder.rs b/libs/binder/rust/src/binder.rs index 63c8684fa0..976f54d36f 100644 --- a/libs/binder/rust/src/binder.rs +++ b/libs/binder/rust/src/binder.rs @@ -1091,7 +1091,7 @@ macro_rules! declare_binder_enum { } } => { $( #[$attr] )* - #[derive(Debug, Default, Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash)] + #[derive(Default, Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash)] #[allow(missing_docs)] pub struct $enum(pub $backing); impl $enum { @@ -1104,6 +1104,15 @@ macro_rules! declare_binder_enum { } } + impl std::fmt::Debug for $enum { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self.0 { + $($value => f.write_str(stringify!($name)),)* + _ => f.write_fmt(format_args!("{}", self.0)) + } + } + } + impl $crate::binder_impl::Serialize for $enum { fn serialize(&self, parcel: &mut $crate::binder_impl::BorrowedParcel<'_>) -> std::result::Result<(), $crate::StatusCode> { parcel.write(&self.0) |