#[non_exhaustive]pub enum SmitError {
TooLong {
chars: usize,
},
Unprintable,
Empty,
}Expand description
Why a string is not a Smit.
#[non_exhaustive]: the grammar can gain a reason to reject, and an
out-of-tree consumer matching exhaustively would break on a new variant
with no version bump to say so. It buys nothing on the wire. This enum is
not serialized: a smit that fails to decode arrives as a serde error
carrying the fmt::Display text below.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
TooLong
Over Smit::MAX_CHARS characters; carries the count that was sent.
Unprintable
A control character, \u{1b} included.
Empty
Empty, or nothing but whitespace.
Trait Implementations§
impl Copy for SmitError
impl Eq for SmitError
Source§impl Error for SmitError
impl Error for SmitError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl StructuralPartialEq for SmitError
Auto Trait Implementations§
impl Freeze for SmitError
impl RefUnwindSafe for SmitError
impl Send for SmitError
impl Sync for SmitError
impl Unpin for SmitError
impl UnsafeUnpin for SmitError
impl UnwindSafe for SmitError
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§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.