Struct creusot_contracts::std::ffi::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 on
CString
. See its documentation for more.
§Examples
use std::ffi::{CString, NulError};
let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();
Implementations§
source§impl NulError
impl NulError
1.0.0 · sourcepub fn nul_position(&self) -> usize
pub fn nul_position(&self) -> usize
Returns the position of the nul byte in the slice that caused
CString::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);
Trait Implementations§
1.0.0 · source§impl Error for NulError
impl Error for NulError
source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.64.0 · source§impl PartialEq for NulError
impl PartialEq for NulError
impl Eq for NulError
impl StructuralPartialEq for NulError
Auto Trait Implementations§
impl Freeze for NulError
impl RefUnwindSafe for NulError
impl Send for NulError
impl Sync for NulError
impl Unpin for NulError
impl UnwindSafe for NulError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> MakeSized for Twhere
T: ?Sized,
impl<T> MakeSized for Twhere
T: ?Sized,
source§fn make_sized(&self) -> Box<T>
fn make_sized(&self) -> Box<T>
logic ⚠
ensures
*result == *self