pub enum DecisionSource {
FileRule,
FolderChain,
NoVisibleParents,
}Expand description
How a file target’s verdict was reached.
Matched exhaustively by every caller, so a future source cannot be silently mishandled.
Variants§
FileRule
A file_id rule named the target itself. No files.get on any
parent was issued — and none could have changed the verdict, since
a file rule sits at depth −1.
FolderChain
The target’s current parent chain(s) decided it, or fell through to the default policy with a chain actually resolved.
NoVisibleParents
The target has no parents this account can see and no file rule
named this operation — the one case where no folder id the operator
could name would ever help. decision is the bare default policy,
not a forced refusal: Read still defaults to allow, so a
caller that wants to refuse must check the verdict too.
Trait Implementations§
Source§impl Clone for DecisionSource
impl Clone for DecisionSource
impl Copy for DecisionSource
Source§impl Debug for DecisionSource
impl Debug for DecisionSource
impl Eq for DecisionSource
Source§impl PartialEq for DecisionSource
impl PartialEq for DecisionSource
impl StructuralPartialEq for DecisionSource
Auto Trait Implementations§
impl Freeze for DecisionSource
impl RefUnwindSafe for DecisionSource
impl Send for DecisionSource
impl Sync for DecisionSource
impl Unpin for DecisionSource
impl UnsafeUnpin for DecisionSource
impl UnwindSafe for DecisionSource
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ResetDiscriminant<T> for Twhere
T: Copy,
impl<T> ResetDiscriminant<T> for Twhere
T: Copy,
Source§fn discriminant(&self) -> T
fn discriminant(&self) -> T
Value based on which equality for the reset will be determined.