Struct bstr::FromUtf8Error
source · [−]pub struct FromUtf8Error { /* private fields */ }
Expand description
An error that may occur when converting a Vec<u8>
to a String
.
This error includes the original Vec<u8>
that failed to convert to a
String
. This permits callers to recover the allocation used even if it
it not valid UTF-8.
Examples
Basic usage:
use bstr::{B, ByteVec};
let bytes = Vec::from_slice(b"foo\xFFbar");
let err = bytes.into_string().unwrap_err();
assert_eq!(err.utf8_error().valid_up_to(), 3);
assert_eq!(err.utf8_error().error_len(), Some(1));
// At no point in this example is an allocation performed.
let bytes = Vec::from(err.into_vec());
assert_eq!(bytes, B(b"foo\xFFbar"));
Implementations
sourceimpl FromUtf8Error
impl FromUtf8Error
sourcepub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Return the original bytes as a slice that failed to convert to a
String
.
Examples
Basic usage:
use bstr::{B, ByteVec};
let bytes = Vec::from_slice(b"foo\xFFbar");
let err = bytes.into_string().unwrap_err();
// At no point in this example is an allocation performed.
assert_eq!(err.as_bytes(), B(b"foo\xFFbar"));
sourcepub fn into_vec(self) -> Vec<u8>
pub fn into_vec(self) -> Vec<u8>
Consume this error and return the original byte string that failed to
convert to a String
.
Examples
Basic usage:
use bstr::{B, ByteVec};
let bytes = Vec::from_slice(b"foo\xFFbar");
let err = bytes.into_string().unwrap_err();
let original = err.into_vec();
// At no point in this example is an allocation performed.
assert_eq!(original, B(b"foo\xFFbar"));
sourcepub fn utf8_error(&self) -> &Utf8Error
pub fn utf8_error(&self) -> &Utf8Error
Return the underlying UTF-8 error that occurred. This error provides information on the nature and location of the invalid UTF-8 detected.
Examples
Basic usage:
use bstr::{B, ByteVec};
let bytes = Vec::from_slice(b"foo\xFFbar");
let err = bytes.into_string().unwrap_err();
assert_eq!(err.utf8_error().valid_up_to(), 3);
assert_eq!(err.utf8_error().error_len(), Some(1));
Trait Implementations
sourceimpl Debug for FromUtf8Error
impl Debug for FromUtf8Error
sourceimpl Display for FromUtf8Error
impl Display for FromUtf8Error
sourceimpl Error for FromUtf8Error
impl Error for FromUtf8Error
sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourceimpl PartialEq<FromUtf8Error> for FromUtf8Error
impl PartialEq<FromUtf8Error> for FromUtf8Error
sourcefn eq(&self, other: &FromUtf8Error) -> bool
fn eq(&self, other: &FromUtf8Error) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &FromUtf8Error) -> bool
fn ne(&self, other: &FromUtf8Error) -> bool
This method tests for !=
.
impl Eq for FromUtf8Error
impl StructuralEq for FromUtf8Error
impl StructuralPartialEq for FromUtf8Error
Auto Trait Implementations
impl RefUnwindSafe for FromUtf8Error
impl Send for FromUtf8Error
impl Sync for FromUtf8Error
impl Unpin for FromUtf8Error
impl UnwindSafe for FromUtf8Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more