Struct bumpalo::collections::string::FromUtf8Error[][src]

pub struct FromUtf8Error<'bump> { /* fields omitted */ }
Expand description

A possible error value when converting a String from a UTF-8 byte vector.

This type is the error type for the from_utf8 method on String. It is designed in such a way to carefully avoid reallocations: the into_bytes method will give back the byte vector that was used in the conversion attempt.

The Utf8Error type provided by std::str represents an error that may occur when converting a slice of u8s to a &str. In this sense, it’s an analogue to FromUtf8Error, and you can get one from a FromUtf8Error through the utf8_error method.

Examples

Basic usage:

use bumpalo::{Bump, collections::String};

let b = Bump::new();

// some invalid bytes, in a vector
let bytes = bumpalo::vec![in &b; 0, 159];

let value = String::from_utf8(bytes);

assert!(value.is_err());
assert_eq!(bumpalo::vec![in &b; 0, 159], value.unwrap_err().into_bytes());

Implementations

Returns a slice of u8s bytes that were attempted to convert to a String.

Examples

Basic usage:

use bumpalo::{Bump, collections::String};

let b = Bump::new();

// some invalid bytes, in a vector
let bytes = bumpalo::vec![in &b; 0, 159];

let value = String::from_utf8(bytes);

assert_eq!(&[0, 159], value.unwrap_err().as_bytes());

Returns the bytes that were attempted to convert to a String.

This method is carefully constructed to avoid allocation. It will consume the error, moving out the bytes, so that a copy of the bytes does not need to be made.

Examples

Basic usage:

use bumpalo::{Bump, collections::String};

let b = Bump::new();

// some invalid bytes, in a vector
let bytes = bumpalo::vec![in &b; 0, 159];

let value = String::from_utf8(bytes);

assert_eq!(bumpalo::vec![in &b; 0, 159], value.unwrap_err().into_bytes());

Fetch a Utf8Error to get more details about the conversion failure.

The Utf8Error type provided by std::str represents an error that may occur when converting a slice of u8s to a &str. In this sense, it’s an analogue to FromUtf8Error. See its documentation for more details on using it.

Examples

Basic usage:

use bumpalo::{Bump, collections::String};

let b = Bump::new();

// some invalid bytes, in a vector
let bytes = bumpalo::vec![in &b; 0, 159];

let error = String::from_utf8(bytes).unwrap_err().utf8_error();

// the first byte is invalid here
assert_eq!(1, error.valid_up_to());

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

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.