pub struct NicheRange {
pub offset: u32,
pub width: u8,
pub start: u128,
pub end: u128,
}Expand description
A forbidden bit-pattern range within a value of some type.
Reading the width bytes at offset (interpreted as a little-endian
unsigned integer) from any valid value will never yield a value in
[start, end] (inclusive). Surrounding contexts (e.g. an enclosing enum)
can reuse those bit patterns to encode tag information.
Fields§
§offset: u32Byte offset within the type where the niche-bearing bytes live.
width: u8Width of the niche-bearing region, in bytes.
start: u128Inclusive start of the forbidden range.
end: u128Inclusive end of the forbidden range.
Implementations§
Source§impl NicheRange
impl NicheRange
Trait Implementations§
Source§impl Clone for NicheRange
impl Clone for NicheRange
Source§fn clone(&self) -> NicheRange
fn clone(&self) -> NicheRange
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 moreSource§impl Debug for NicheRange
impl Debug for NicheRange
Source§impl PartialEq for NicheRange
impl PartialEq for NicheRange
impl Copy for NicheRange
impl Eq for NicheRange
impl StructuralPartialEq for NicheRange
Auto Trait Implementations§
impl Freeze for NicheRange
impl RefUnwindSafe for NicheRange
impl Send for NicheRange
impl Sync for NicheRange
impl Unpin for NicheRange
impl UnsafeUnpin for NicheRange
impl UnwindSafe for NicheRange
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].