pub struct Utf8Error { /* private fields */ }
Expand description
Errors which can occur when attempting to interpret a sequence of u8
as a string.
As such, the from_utf8
family of functions and methods for both Name
s and Text
s make
use of this error, for example.
Returns the index in the given string up to which valid UTF-8 was verified.
It is the maximum index such that from_utf8(&input[..index])
would return Ok(_)
.
use astral::string::Name;
let sparkle_heart = &[0, 159, 146, 150];
let error = Name::from_utf8(sparkle_heart, &string_subsystem).unwrap_err();
assert_eq!(1, error.valid_up_to());
Provide more information about the failure:
-
None
: the end of the input was reached unexpectedly. self.valid_up_to()
is 1 to 3
bytes from the end of the input. If a byte stream (such as a file or a network socket) is
being decoded incrementally, this could be a valid char
whose UTF-8 byte sequence is
spanning multiple chunks.
-
Some(len)
: an unexpected byte was encountered. The length provided is that of the
invalid byte sequence that starts at the index given by valid_up_to()
. Decoding should
resume after that sequence (after inserting a U+FFFD REPLACEMENT CHARACTER
) in
case of lossy decoding.
Performs copy-assignment from
source
.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
The lower-level source of this error, if any.
Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access
)
Provides type based access to context intended for error reports.
Read more
This method tests for
self
and
other
values to be equal, and is used
by
==
.
Read more
This method tests for
!=
. The default implementation is almost always
sufficient, and should not be overridden without very good reason.
Read more
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From<T> for U
chooses to do.
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer.
Read more
Mutably dereferences the given pointer.
Read more
Drops the object pointed to by the given pointer.
Read more
🔬This is a nightly-only experimental API. (provide_any
)
Data providers should implement this method to provide
all values they are able to
provide by using
demand
.
Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning.
Read more
Uses borrowed data to replace owned data, usually by cloning.
Read more
Converts the given value to a
String
.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.