Struct tinystr::UnvalidatedTinyAsciiStr

source ·
pub struct UnvalidatedTinyAsciiStr<const N: usize>(/* private fields */);
Expand description

A fixed-length bytes array that is expected to be an ASCII string but does not enforce that invariant.

Use this type instead of TinyAsciiStr if you don’t need to enforce ASCII during deserialization. For example, strings that are keys of a map don’t need to ever be reified as TinyAsciiStrs.

The main advantage of this type over [u8; N] is that it serializes as a string in human-readable formats like JSON.

Implementations§

source§

impl<const N: usize> UnvalidatedTinyAsciiStr<N>

source

pub fn try_into_tinystr(self) -> Result<TinyAsciiStr<N>, ParseError>

Converts into a TinyAsciiStr. Fails if the bytes are not valid ASCII.

source

pub const fn from_utf8_unchecked(bytes: [u8; N]) -> Self

Unsafely converts into a TinyAsciiStr.

Trait Implementations§

source§

impl<const N: usize> AsULE for UnvalidatedTinyAsciiStr<N>

source§

type ULE = UnvalidatedTinyAsciiStr<N>

The ULE type corresponding to Self. Read more
source§

fn to_unaligned(self) -> Self::ULE

Converts from Self to Self::ULE. Read more
source§

fn from_unaligned(unaligned: Self::ULE) -> Self

Converts from Self::ULE to Self. Read more
source§

impl<const N: usize> Bake for UnvalidatedTinyAsciiStr<N>

source§

fn bake(&self, env: &CrateEnv) -> TokenStream

Returns a TokenStream that would evaluate to self. Read more
source§

impl<const N: usize> BakeSize for UnvalidatedTinyAsciiStr<N>

source§

fn borrows_size(&self) -> usize

Returns the size
source§

impl<const N: usize> Clone for UnvalidatedTinyAsciiStr<N>

source§

fn clone(&self) -> UnvalidatedTinyAsciiStr<N>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<const N: usize> Debug for UnvalidatedTinyAsciiStr<N>

source§

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

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

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<1>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<10>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<11>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<12>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<13>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<14>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<15>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<16>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<17>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<18>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<19>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<2>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<20>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<21>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<22>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<23>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<24>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<25>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<26>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<27>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<28>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<29>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<3>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<30>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<31>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<32>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<4>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<5>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<6>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<7>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<8>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de, 'a> Deserialize<'de> for UnvalidatedTinyAsciiStr<9>
where 'de: 'a,

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<const N: usize> From<TinyAsciiStr<N>> for UnvalidatedTinyAsciiStr<N>

source§

fn from(other: TinyAsciiStr<N>) -> Self

Converts to this type from the input type.
source§

impl<const N: usize> Ord for UnvalidatedTinyAsciiStr<N>

source§

fn cmp(&self, other: &UnvalidatedTinyAsciiStr<N>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<const N: usize> PartialEq for UnvalidatedTinyAsciiStr<N>

source§

fn eq(&self, other: &UnvalidatedTinyAsciiStr<N>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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<const N: usize> PartialOrd for UnvalidatedTinyAsciiStr<N>

source§

fn partial_cmp(&self, other: &UnvalidatedTinyAsciiStr<N>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<const N: usize> Serialize for UnvalidatedTinyAsciiStr<N>

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<const N: usize> ULE for UnvalidatedTinyAsciiStr<N>

source§

fn validate_bytes(bytes: &[u8]) -> Result<(), UleError>

Validates a byte slice, &[u8]. Read more
§

fn parse_bytes_to_slice(bytes: &[u8]) -> Result<&[Self], UleError>

Parses a byte slice, &[u8], and return it as &[Self] with the same lifetime. Read more
§

unsafe fn slice_from_bytes_unchecked(bytes: &[u8]) -> &[Self]

Takes a byte slice, &[u8], and return it as &[Self] with the same lifetime, assuming that this byte slice has previously been run through [Self::parse_bytes_to_slice()] with success. Read more
§

fn slice_as_bytes(slice: &[Self]) -> &[u8]

Given &[Self], returns a &[u8] with the same lifetime. Read more
source§

impl<'a, const N: usize> ZeroMapKV<'a> for UnvalidatedTinyAsciiStr<N>

source§

type Container = ZeroVec<'a, UnvalidatedTinyAsciiStr<N>>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
source§

type Slice = ZeroSlice<UnvalidatedTinyAsciiStr<N>>

source§

type GetType = UnvalidatedTinyAsciiStr<N>

The type produced by Container::get() Read more
source§

type OwnedType = UnvalidatedTinyAsciiStr<N>

The type produced by Container::replace() and Container::remove(), also used during deserialization. If Self is human readable serialized, deserializing to Self::OwnedType should produce the same value once passed through Self::owned_as_self() Read more
source§

impl<const N: usize> Copy for UnvalidatedTinyAsciiStr<N>

source§

impl<const N: usize> Eq for UnvalidatedTinyAsciiStr<N>

source§

impl<const N: usize> StructuralPartialEq for UnvalidatedTinyAsciiStr<N>

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> 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, dst: *mut T)

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,