pub enum OuterObjectiveErrorSource {
Estimation(Box<EstimationError>),
Objective(ObjectiveEvalError),
}Expand description
The exact error thrown across a fatal outer-objective boundary.
Outer orchestration receives failures through two APIs. Direct evaluators
return EstimationError, while optimizer-facing evaluators return
opt::ObjectiveEvalError, which owns both the producer’s recoverable/fatal
verdict and (when available) its typed source. Flattening the latter through
into_message() and minting a fresh RemlOptimizationFailed destroys that
source precisely where terminal classification and FFI dispatch need it.
This enum is the single owner of that distinction. The recursive
EstimationError arm is boxed for a finite representation; the optimizer
arm is retained whole, including its source chain and producer verdict.
Variants§
Estimation(Box<EstimationError>)
Objective(ObjectiveEvalError)
Implementations§
Source§impl OuterObjectiveErrorSource
impl OuterObjectiveErrorSource
Sourcepub fn estimation_error(&self) -> Option<&EstimationError>
pub fn estimation_error(&self) -> Option<&EstimationError>
Recover an engine error without inspecting rendered prose.
ObjectiveEvalError sources created by gam’s objective bridge carry the
originating EstimationError directly. A source owned by another
optimizer client remains typed as that client’s error and correctly
returns None.
Sourcepub fn objective_error(&self) -> Option<&ObjectiveEvalError>
pub fn objective_error(&self) -> Option<&ObjectiveEvalError>
The optimizer-facing error, when this boundary was crossed through opt.
Trait Implementations§
Source§impl Debug for OuterObjectiveErrorSource
impl Debug for OuterObjectiveErrorSource
Source§impl Display for OuterObjectiveErrorSource
impl Display for OuterObjectiveErrorSource
Source§impl Error for OuterObjectiveErrorSource
impl Error for OuterObjectiveErrorSource
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 !RefUnwindSafe for OuterObjectiveErrorSource
impl !UnwindSafe for OuterObjectiveErrorSource
impl Freeze for OuterObjectiveErrorSource
impl Send for OuterObjectiveErrorSource
impl Sync for OuterObjectiveErrorSource
impl Unpin for OuterObjectiveErrorSource
impl UnsafeUnpin for OuterObjectiveErrorSource
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.