pub struct PermissionCollision {
pub id: u64,
pub permissions: Vec<String>,
}Expand description
A group of permission strings that share the same 64‑bit deterministic hash.
This can represent:
- Pure duplicates (all strings identical)
- A true collision (different strings hashing to the same 64‑bit value; extremely rare)
Use logic like:
for group in &report.collisions {
let all_equal = group.permissions.windows(2).all(|w| w[0] == w[1]);
if all_equal {
// handle duplicate
} else {
// handle distinct collision (critical)
}
}Fields§
§id: u64The hash ID that has multiple permissions mapping to it (64-bit).
permissions: Vec<String>List of permission strings that all hash to the same value.
Trait Implementations§
Source§impl Clone for PermissionCollision
impl Clone for PermissionCollision
Source§fn clone(&self) -> PermissionCollision
fn clone(&self) -> PermissionCollision
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PermissionCollision
impl RefUnwindSafe for PermissionCollision
impl Send for PermissionCollision
impl Sync for PermissionCollision
impl Unpin for PermissionCollision
impl UnwindSafe for PermissionCollision
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more