Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667// SPDX-License-Identifier: GPL-2.0
//! Errors for the [`Vec`] type.
use crate::{ fmt, prelude::*, //};
/// Error type for [`Vec::push_within_capacity`].pub struct PushError<T>(pub T);
impl<T> fmt::Debug for PushError<T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Not enough capacity") }}
impl<T> From<PushError<T>> for Error { #[inline] fn from(_: PushError<T>) -> Error { // Returning ENOMEM isn't appropriate because the system is not out of memory. The vector // is just full and we are refusing to resize it. EINVAL }}
/// Error type for [`Vec::remove`].pub struct RemoveError;
impl fmt::Debug for RemoveError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Index out of bounds") }}
impl From<RemoveError> for Error { #[inline] fn from(_: RemoveError) -> Error { EINVAL }}
/// Error type for [`Vec::insert_within_capacity`].pub enum InsertError<T> { /// The value could not be inserted because the index is out of bounds. IndexOutOfBounds(T), /// The value could not be inserted because the vector is out of capacity. OutOfCapacity(T),}
impl<T> fmt::Debug for InsertError<T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { InsertError::IndexOutOfBounds(_) => write!(f, "Index out of bounds"), InsertError::OutOfCapacity(_) => write!(f, "Not enough capacity"), } }}
impl<T> From<InsertError<T>> for Error { #[inline] fn from(_: InsertError<T>) -> Error { EINVAL }}