pub struct NulError(/* private fields */);
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 on CString. See its documentation for more.
use std::ffi::{CString, NulError};
let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();impl NulError
pub fn nul_position(&self) -> usize
Returns the position of the nul byte in the slice that caused CString::new to fail.
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);pub fn into_vec(self) -> Vec<u8> β
Consumes this error, returning the underlying vector of bytes which generated the error in the first place.
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.into_vec(), b"foo\0bar");impl Clone for NulError
fn clone(&self) -> NulError
fn clone_from(&mut self, source: &Self)
source. Read more
impl Debug for NulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
impl Display for NulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
impl Error for NulError
fn source(&self) -> Option<&(dyn Error + 'static)>
fn description(&self) -> &str
fn cause(&self) -> Option<&dyn Error>
fn provide<'a>(&'a self, request: &mut Request<'a>)
error_generic_member_access #99301)
impl From<NulError> for Error
fn from(_: NulError) -> Error
Converts a alloc::ffi::NulError into a Error.
impl PartialEq for NulError
fn eq(&self, other: &NulError) -> bool
self and other values to be equal, and is used by ==.fn ne(&self, other: &Rhs) -> bool
!=. The default implementation is almost always sufficient, and should not be overridden without very good reason.impl Eq for NulError
impl StructuralPartialEq for NulError
impl Freeze for NulError
impl RefUnwindSafe for NulError
impl Send for NulError
impl Sync for NulError
impl Unpin for NulError
impl UnwindSafe for NulError
impl<T> Any for Twhere
T: 'static + ?Sized,impl<T> Borrow<T> for Twhere
T: ?Sized,impl<T> BorrowMut<T> for Twhere
T: ?Sized,impl<T> CloneToUninit for Twhere
T: Clone,unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit #126799)
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for Twhere
U: From<T>,fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of From<T> for U chooses to do.
impl<T> ToOwned for Twhere
T: Clone,type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T> ToString for Twhere
T: Display + ?Sized,impl<T, U> TryFrom<U> for Twhere
U: Into<T>,type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
Β© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ffi/c_str/struct.NulError.html