pub enum RemlError {
DimensionMismatch {
reason: String,
},
NonFiniteValue {
reason: String,
},
InvalidKernelMode {
reason: String,
},
ContractViolation {
reason: String,
},
}Expand description
Typed failure categories raised by the unified REML/LAML evaluator and its outer-Hessian / penalty-root helpers.
Each variant carries a pre-formatted reason string so that the
Display impl is byte-equivalent to the original format!(...) text the
module emitted before the typed-error migration. External signatures
remain Result<_, String>; the boundary conversion goes through
From<RemlError> for String.
Variants§
DimensionMismatch
A length / shape disagreement between two views that should match (penalty coords vs Hessian dim, residual length vs operator dim, precomputed-correction count vs total, etc.).
NonFiniteValue
A scalar / vector / matrix entry that must be finite came back NaN or ±∞ (cost, gradient entry, Hessian entry, cross-trace entry).
InvalidKernelMode
A correction path was invoked against an operator kernel that does not support it (scalar-only correction on a non-scalar kernel, callback correction on a non-callback kernel).
ContractViolation
A caller violated the evaluator contract. These are not numerical failures; they mean an upstream solver presented an inner state with insufficient certificates for the requested derivative surface.
Trait Implementations§
Source§impl Error for RemlError
impl Error for RemlError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for RemlError
impl RefUnwindSafe for RemlError
impl Send for RemlError
impl Sync for RemlError
impl Unpin for RemlError
impl UnsafeUnpin for RemlError
impl UnwindSafe for RemlError
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.