#[non_exhaustive]pub enum DecodeError {
InvalidByte(InvalidByte),
WrongOutputLength(WrongOutputLength),
WrongInputLength(WrongInputLength),
ExcessBits(ExcessBits),
}
Expand description
Error returned by decode
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.
InvalidByte(InvalidByte)
When one of the bytes in the slice passed to decode
isn’t in the char set of the passed encoding.
Eg: a !
in an otherwise base 64 encoded string.
WrongOutputLength(WrongOutputLength)
When the array returned by decode
isn’t the length that the arguments would produce.
WrongInputLength(WrongInputLength)
When the slice passed to decode
is not a valid length for that encoding.
The input lengths that are wrong for each encoding:
- Base 64: when
input.len() % 4
equals1
. - Base 32: when
input.len() % 8
equals1
,3
, or6
. - Base 16: when
input.len() % 2
equals1
.
ExcessBits(ExcessBits)
When the last byte in the slice passed to decode
has excess set bits that aren’t copied to the return value.
Implementations§
Trait Implementations§
Source§impl Debug for DecodeError
impl Debug for DecodeError
Source§impl PartialEq for DecodeError
impl PartialEq for DecodeError
impl StructuralPartialEq for DecodeError
Auto Trait Implementations§
impl Freeze for DecodeError
impl RefUnwindSafe for DecodeError
impl Send for DecodeError
impl Sync for DecodeError
impl Unpin for DecodeError
impl UnwindSafe for DecodeError
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