NulError in alloc::ffi - Rust (original) (raw)
Struct NulError
1.64.0 · Source
pub struct NulError(/* private fields */);
Expand description
An error indicating that an interior nul byte was found.
While Rust strings may contain nul bytes in the middle, C strings can’t, as that byte would effectively truncate the string.
This error is created by the new method onCString. See its documentation for more.
§Examples
use std::ffi::{CString, NulError};
let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();
1.0.0 · Source
Returns the position of the nul byte in the slice that causedCString::new to fail.
§Examples
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.nul_position(), 3);
let nul_error = CString::new("foo bar\0").unwrap_err();
assert_eq!(nul_error.nul_position(), 7);
1.0.0 · Source
Consumes this error, returning the underlying vector of bytes which generated the error in the first place.
§Examples
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.into_vec(), b"foo\0bar");
👎Deprecated since 1.42.0: use the Display impl or to_string()
Returns the lower-level source of this error, if any. Read more
👎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
Tests for self
and other
values to be equal, and is used by ==
.
Tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.