FunctionErrors

Enum FunctionErrors 

Source
pub enum FunctionErrors<InputError: Error, OutputError: Error> {
    Input {
        source: InputError,
    },
    Output {
        source: OutputError,
    },
}
Expand description

A generic error type for fallible numerical function computations.

This enum is used as a standard wrapper for function-specific errors, distinguishing between failures that occur during input validation and those that occur during output validation (or due to the computation itself resulting in an invalid value according to the defined policy).

§Type Parameters

  • InputError: The type of the error that occurs if input validation fails. This is typically a function-specific enum detailing various input-related problems (e.g., ExpInputErrors,, LogarithmRealInputErrors, etc.).
  • OutputError: The type of the error that occurs if output validation fails. This is usually an error type related to the properties of the scalar value itself, often from the validation module (e.g., ErrorsValidationRawReal or ErrorsValidationRawComplex), indicating that the computed result is not valid (e.g., NaN, Infinity).

Variants§

§

Input

Error due to invalid input values.

This variant is returned when initial validation of the function’s arguments fails according to the defined validation policy (e.g., StrictFinitePolicy) or due to domain-specific constraints (e.g., negative input to a real logarithm).

Fields

§source: InputError

The source error that occurred during input validation. This provides specific details about why the input was considered invalid.

§

Output

Error due to the computed output failing validation.

This variant is returned if the result of the computation, even from valid inputs, fails validation according to the defined policy. This typically means the result was non-finite (NaN or Infinity) or otherwise did not meet the criteria for a valid output.

Fields

§source: OutputError

The source error that occurred during output validation. This provides specific details about why the computed output was considered invalid.

Trait Implementations§

Source§

impl<InputError: Debug + Error, OutputError: Debug + Error> Debug for FunctionErrors<InputError, OutputError>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<InputError: Error, OutputError: Error> Display for FunctionErrors<InputError, OutputError>

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<InputError, OutputError> Error for FunctionErrors<InputError, OutputError>
where InputError: Error + 'static + Error, OutputError: Error + 'static + Error, Self: Debug + Display,

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
Source§

fn provide<'_request>(&'_request self, request: &mut Request<'_request>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

impl<InputError: Error, OutputError: Error> From<InputError> for FunctionErrors<InputError, OutputError>

Source§

fn from(source: InputError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<InputError, OutputError> Freeze for FunctionErrors<InputError, OutputError>
where InputError: Freeze, OutputError: Freeze,

§

impl<InputError, OutputError> RefUnwindSafe for FunctionErrors<InputError, OutputError>
where InputError: RefUnwindSafe, OutputError: RefUnwindSafe,

§

impl<InputError, OutputError> Send for FunctionErrors<InputError, OutputError>
where InputError: Send, OutputError: Send,

§

impl<InputError, OutputError> Sync for FunctionErrors<InputError, OutputError>
where InputError: Sync, OutputError: Sync,

§

impl<InputError, OutputError> Unpin for FunctionErrors<InputError, OutputError>
where InputError: Unpin, OutputError: Unpin,

§

impl<InputError, OutputError> UnwindSafe for FunctionErrors<InputError, OutputError>
where InputError: UnwindSafe, OutputError: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<!> for T

Source§

fn from(t: !) -> T

Converts to this type from the input type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.