pub enum ReferenceResolutionError {
UndeclaredIndexSet {
name: String,
index: String,
node: String,
model: String,
path: String,
},
UnknownFaqNode {
index_set: String,
from_faq: String,
model: String,
},
DuplicateNodeId {
id: String,
model: String,
path: String,
first: String,
},
UnresolvedJoinFactor {
factor: String,
node: String,
model: String,
path: String,
},
ReferenceCycle {
path: Vec<String>,
},
}Expand description
A reference could not be resolved, or the reference graph has a cycle.
Variant names are deliberately cross-language-compatible so the Julia,
Python, and Rust bindings report the same failure mode under the same name
(mirrors the E_REF_* codes in the Python binding).
Variants§
UndeclaredIndexSet
A ranges[*].from names an index set not declared in index_sets.
UnknownFaqNode
A kind:"derived" index set’s from_faq names no expression-node id.
Resolved at DOCUMENT scope (esm-spec.md §9.7.5); model names the model
whose graph was being built when the lookup failed.
DuplicateNodeId
Two expression nodes in the same DOCUMENT share an explicit id.
Node ids are unique per document, not per model (esm-spec.md §9.7.5);
when the two occurrences are in different models the paths are
model-qualified and model names the second occurrence’s model.
UnresolvedJoinFactor
A join.on factor reference names nothing in the node’s scope.
ReferenceCycle
A directed cycle exists among the reference edges (RFC §6.1 acyclicity).
Trait Implementations§
Source§impl Clone for ReferenceResolutionError
impl Clone for ReferenceResolutionError
Source§impl Debug for ReferenceResolutionError
impl Debug for ReferenceResolutionError
Source§impl Display for ReferenceResolutionError
impl Display for ReferenceResolutionError
impl Eq for ReferenceResolutionError
Source§impl Error for ReferenceResolutionError
impl Error for ReferenceResolutionError
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 ReferenceResolutionError
impl PartialEq for ReferenceResolutionError
impl StructuralPartialEq for ReferenceResolutionError
Auto Trait Implementations§
impl Freeze for ReferenceResolutionError
impl RefUnwindSafe for ReferenceResolutionError
impl Send for ReferenceResolutionError
impl Sync for ReferenceResolutionError
impl Unpin for ReferenceResolutionError
impl UnsafeUnpin for ReferenceResolutionError
impl UnwindSafe for ReferenceResolutionError
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.