On this page
Struct std::ffi::FromVecWithNulError
pub struct FromVecWithNulError { /* private fields */ }
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();
Implementations
impl FromVecWithNulError
pub fn as_bytes(&self) -> &[u8] ⓘ
Returns a slice of u8
s 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());
pub fn into_bytes(self) -> Vec<u8> ⓘ
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());
Trait Implementations
impl Clone for FromVecWithNulError
fn clone(&self) -> FromVecWithNulError
fn clone_from(&mut self, source: &Self)
source
. Read more
impl Debug for FromVecWithNulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
impl Display for FromVecWithNulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
impl Error for FromVecWithNulError
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 PartialEq for FromVecWithNulError
fn eq(&self, other: &FromVecWithNulError) -> 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 FromVecWithNulError
impl StructuralEq for FromVecWithNulError
impl StructuralPartialEq for FromVecWithNulError
Auto Trait Implementations
impl RefUnwindSafe for FromVecWithNulError
impl Send for FromVecWithNulError
impl Sync for FromVecWithNulError
impl Unpin for FromVecWithNulError
impl UnwindSafe for FromVecWithNulError
Blanket Implementations
impl<T> Any for T
where
T: 'static + ?Sized,
impl<T> Borrow<T> for T
where
T: ?Sized,
impl<T> BorrowMut<T> for T
where
T: ?Sized,
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for T
where
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 T
where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T> ToString for T
where
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
© 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/struct.FromVecWithNulError.html