4 releases
| 0.2.2 | Jun 8, 2024 |
|---|---|
| 0.2.1 | Jun 8, 2024 |
| 0.2.0 | Apr 13, 2024 |
| 0.1.0 | Apr 13, 2024 |
#1807 in Rust patterns
195 downloads per month
50KB
331 lines
Bit Roles
This crate enables you to implement granular role and permission management based on bit flags.
| Using discrete fields | Using bit roles |
|---|---|
|
|
Getting started
Add bit_roles to your project:
cargo add bit_roles
Usage
You can derive the BitRole trait for your role enum. It ensures compile-time validation for enum discriminants. Ensure
you specify a discriminant for every enum variant; it must be either zero or a power of two. Also, remember to derive
the Copy and Clone traits for your enum.
If you need a manager without compile-time checks, it's also exported as BitRoleUnchecked trait. This is useful if you
want to use raw integer values for roles or have a complex role enum definition. You will need to implement
the Into<usize> trait for your role enum, along with deriving the Copy and Clone traits for it.
Dependencies
~195–630KB
~15K SLoC