pub struct InputError(pub String);Expand description
Input an algorithm cannot process: too few echoes, echo times it cannot use, buffers that do not match the grid, a singular affine, and so on. The message says what was wrong and with what values, so a host can pass it straight to its user.
Algorithms return this instead of panicking. A host that wants to reject a run before any work starts should still check its parameters itself (the message here is the last line of defence, not a substitute for validating a config).
The pipeline stages convert it to PipelineError::InvalidInput.
Tuple Fields§
§0: StringImplementations§
Source§impl InputError
impl InputError
Sourcepub fn param(name: &str, value: impl Display, allowed: &str) -> Self
pub fn param(name: &str, value: impl Display, allowed: &str) -> Self
A parameter outside the range the algorithm accepts, as
"{name} = {value} is out of range: must be {allowed}". name should say whose
parameter it is ("V-SHARP min_radius"), and allowed the range with its unit
("finite and > 0 mm"), so the message stands on its own in a host’s error report.
Trait Implementations§
Source§impl Clone for InputError
impl Clone for InputError
Source§fn clone(&self) -> InputError
fn clone(&self) -> InputError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InputError
impl Debug for InputError
Source§impl Display for InputError
impl Display for InputError
impl Eq for InputError
Source§impl Error for InputError
impl Error for InputError
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()
Source§impl From<InputError> for PipelineError
impl From<InputError> for PipelineError
Source§fn from(e: InputError) -> Self
fn from(e: InputError) -> Self
Source§impl PartialEq for InputError
impl PartialEq for InputError
impl StructuralPartialEq for InputError
Auto Trait Implementations§
impl Freeze for InputError
impl RefUnwindSafe for InputError
impl Send for InputError
impl Sync for InputError
impl Unpin for InputError
impl UnsafeUnpin for InputError
impl UnwindSafe for InputError
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<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 more