pub enum OutputError {
Show 13 variants
DuplicateScalar {
base: String,
count: usize,
},
RaggedRank {
base: String,
got: usize,
expected: usize,
},
ZeroIndex {
base: String,
axis: usize,
},
SparseGrid {
base: String,
shape: Vec<usize>,
got: usize,
want: usize,
},
DuplicateCell {
base: String,
cell: Vec<usize>,
},
DimCountMismatch {
base: String,
dims: Vec<String>,
declared: usize,
shape: Vec<usize>,
actual: usize,
},
DimLengthMismatch {
base: String,
axis: usize,
dim: String,
size: usize,
len: usize,
},
DimLengthConflict {
dim: String,
first: String,
a: usize,
second: String,
b: usize,
},
TimeDimCollision {
base: String,
dim: String,
},
CoordLengthMismatch {
name: String,
got: usize,
want: usize,
},
UnknownObserved {
name: String,
},
AmbiguousRequest {
name: String,
candidates: Vec<String>,
},
BufferLength {
base: String,
what: &'static str,
got: usize,
want: usize,
},
}Expand description
Failure deriving an OutputPlan — the output-side mirror of the loader
seam’s errors. Every variant names the offending variable or dimension:
a mislabeled axis is silently wrong science, so these fail loudly.
Variants§
DuplicateScalar
A scalar (bracket-free) cell key appeared more than once.
RaggedRank
Cells of one variable disagreed on how many axes the variable has.
ZeroIndex
A cell key carried a 0 (or negative) index; cell keys are 1-based.
SparseGrid
The variable’s cells do not cover its grid.
DuplicateCell
Two flat slots claimed the same grid cell.
DimCountMismatch
The document’s declared shape has a different rank than the flat state.
DimLengthMismatch
A declared index set’s length disagrees with the recovered axis length.
DimLengthConflict
Two variables on one grid disagree about a shared dimension’s length.
TimeDimCollision
A spatial dimension collides with the record (time) axis name.
CoordLengthMismatch
A coordinates entry’s inline values length does not match its axis.
UnknownObserved
The caller asked for an observed field that has no slot in the flat state. Silently dropping a requested output is worse than refusing.
AmbiguousRequest
A requested output names no variable exactly, and its last dotted
segment is shared by more than one variable, so it designates none of
them (CONFORMANCE_SPEC §5.17.4). Code ambiguous_output_name.
BufferLength
A scatter/gather call was handed a buffer of the wrong length.
Implementations§
Source§impl OutputError
impl OutputError
Sourcepub fn code(&self) -> Option<&'static str>
pub fn code(&self) -> Option<&'static str>
The registered diagnostic code (a value of crate::ERROR_CODES) for
the variants that carry one.
Trait Implementations§
Source§impl Clone for OutputError
impl Clone for OutputError
Source§impl Debug for OutputError
impl Debug for OutputError
Source§impl Display for OutputError
impl Display for OutputError
impl Eq for OutputError
Source§impl Error for OutputError
impl Error for OutputError
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 PartialEq for OutputError
impl PartialEq for OutputError
impl StructuralPartialEq for OutputError
Auto Trait Implementations§
impl Freeze for OutputError
impl RefUnwindSafe for OutputError
impl Send for OutputError
impl Sync for OutputError
impl Unpin for OutputError
impl UnsafeUnpin for OutputError
impl UnwindSafe for OutputError
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> 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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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,
impl<T> Scalar for T
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.