FromVecWithNulError in alloc::ffi - Rust (original) (raw)

Struct FromVecWithNulError

1.64.0 · Source

pub struct FromVecWithNulError { /* private fields */ }

Expand description

An error indicating that a nul byte was not in the expected position.

The vector used to create a CString must have one and only one nul byte, positioned at the end.

This error is created by the CString::from_vec_with_nul method. See its documentation for more.

§Examples

use std::ffi::{CString, FromVecWithNulError};

let _: FromVecWithNulError = CString::from_vec_with_nul(b"f\0oo".to_vec()).unwrap_err();

1.58.0 · Source§

1.58.0 · Source

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

§Examples

Basic usage:

use std::ffi::CString;

// Some invalid bytes in a vector
let bytes = b"f\0oo".to_vec();

let value = CString::from_vec_with_nul(bytes.clone());

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

1.58.0 · Source

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

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 std::ffi::CString;

// Some invalid bytes in a vector
let bytes = b"f\0oo".to_vec();

let value = CString::from_vec_with_nul(bytes.clone());

assert_eq!(bytes, value.unwrap_err().into_bytes());

1.64.0 · Source§

1.64.0 · Source§

1.58.0 · Source§

1.58.0 · Source§

1.30.0§

Returns the lower-level source of this error, if any. Read more

1.0.0§

👎Deprecated since 1.42.0: use the Display impl or to_string()

1.0.0§

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting

§

🔬This is a nightly-only experimental API. (error_generic_member_access #99301)

Provides type-based access to context intended for error reports. Read more

1.64.0 · Source§

Source§

Tests for self and other values to be equal, and is used by ==.

1.0.0§

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

1.64.0 · Source§

1.64.0 · Source§

§

§

§

§

§

§

§

§

§

Immutably borrows from an owned value. Read more

§

§

Mutably borrows from an owned value. Read more

§

§

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)

Performs copy-assignment from self to dest. Read more

§

§

Returns the argument unchanged.

§

§

Calls U::from(self).

That is, this conversion is whatever the implementation of[From](../../core/convert/trait.From.html "trait core::convert::From")<T> for U chooses to do.

Source§

Source§

The resulting type after obtaining ownership.

Source§

Creates owned data from borrowed data, usually by cloning. Read more

Source§

Uses borrowed data to replace owned data, usually by cloning. Read more

Source§

§

§

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.