Skip to main content

ToolErrorKindSet

Struct ToolErrorKindSet 

Source
pub struct ToolErrorKindSet(/* private fields */);
Expand description

Compact set of ToolErrorKind values. Backed by a fixed-width integer bitset — every variant occupies one bit at a stable position determined by the enum taxonomy.

The type lives next to ToolErrorKind rather than in a dedicated set module so the bit layout and the enum stay in one place. The bit_indices_are_unique_and_fit_in_set_width regression test below uses a same-crate exhaustive match to force every new variant through a uniqueness + width check — landing a variant whose bit_index exceeds the set width fails the test, and the developer widens the backing integer in lockstep with the taxonomy.

Construction is const-friendly — operator defaults and unit tests build sets at compile time:

use entelix_core::tools::{ToolErrorKind, ToolErrorKindSet};
const SAFE: ToolErrorKindSet = ToolErrorKindSet::empty()
    .with(ToolErrorKind::Auth)
    .with(ToolErrorKind::Quota)
    .with(ToolErrorKind::Permanent);
assert!(SAFE.contains(ToolErrorKind::Auth));
assert!(!SAFE.contains(ToolErrorKind::Transient));

Implementations§

Source§

impl ToolErrorKindSet

Source

pub const fn empty() -> Self

Empty set — no kinds.

Source

pub const fn singleton(kind: ToolErrorKind) -> Self

Single-kind set — useful at literal call sites.

Source

pub const fn with(self, kind: ToolErrorKind) -> Self

Insert kind into the set, returning the updated set.

Source

pub const fn without(self, kind: ToolErrorKind) -> Self

Remove kind from the set, returning the updated set.

Source

pub const fn union(self, other: Self) -> Self

Union with another set, returning the updated set.

Source

pub const fn contains(self, kind: ToolErrorKind) -> bool

Whether kind is in the set.

Source

pub const fn is_empty(self) -> bool

Whether the set has no kinds.

Trait Implementations§

Source§

impl Clone for ToolErrorKindSet

Source§

fn clone(&self) -> ToolErrorKindSet

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ToolErrorKindSet

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ToolErrorKindSet

Source§

fn default() -> ToolErrorKindSet

Returns the “default value” for a type. Read more
Source§

impl Hash for ToolErrorKindSet

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ToolErrorKindSet

Source§

fn eq(&self, other: &ToolErrorKindSet) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ToolErrorKindSet

Source§

impl Eq for ToolErrorKindSet

Source§

impl StructuralPartialEq for ToolErrorKindSet

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsOut<T> for T
where T: Copy,

Source§

fn as_out(&mut self) -> Out<'_, T>

Returns an out reference to self.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

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
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more