Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e22a9037 authored by Devin Moore's avatar Devin Moore Committed by Gerrit Code Review
Browse files

Merge "Add bitwise operators to declare_binder_enum" into main

parents 003da7db 69f67e7e
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
@@ -1201,5 +1201,45 @@ macro_rules! declare_binder_enum {
                Ok(v.map(|v| v.into_iter().map(Self).collect()))
            }
        }

        impl std::ops::BitOr for $enum {
            type Output = Self;
            fn bitor(self, rhs: Self) -> Self {
                Self(self.0 | rhs.0)
            }
        }

        impl std::ops::BitOrAssign for $enum {
            fn bitor_assign(&mut self, rhs: Self) {
                self.0 = self.0 | rhs.0;
            }
        }

        impl std::ops::BitAnd for $enum {
            type Output = Self;
            fn bitand(self, rhs: Self) -> Self {
                Self(self.0 & rhs.0)
            }
        }

        impl std::ops::BitAndAssign for $enum {
            fn bitand_assign(&mut self, rhs: Self) {
                self.0 = self.0 & rhs.0;
            }
        }

        impl std::ops::BitXor for $enum {
            type Output = Self;
            fn bitxor(self, rhs: Self) -> Self {
                Self(self.0 ^ rhs.0)
            }
        }

        impl std::ops::BitXorAssign for $enum {
            fn bitxor_assign(&mut self, rhs: Self) {
                self.0 = self.0 ^ rhs.0;
            }
        }

    };
}