pub enum ArchSpecError {
Structure(String),
ZoneBus(String),
InterZoneBus(String),
CyclicBus(String),
EntanglingPair(String),
Mode(String),
Path(String),
}Expand description
Error categories for arch spec structural validation.
Each variant groups related validation checks. Multiple errors can be collected in a single validation pass.
Variants§
Structure(String)
Structural error (grid dimensions, word consistency, minimum counts).
ZoneBus(String)
Per-zone bus validation error (site/word buses, membership lists).
InterZoneBus(String)
Inter-zone bus validation error (zone bus entries).
CyclicBus(String)
Bus src→dst relation contains a cycle.
A bus is by definition a set of explicit edge transports executed
simultaneously as one AOD operation — never a permutation. A chain
(x→y, y→z with the final destination outside the source set) shifts
atoms like a conveyor and is physically valid; a cycle
(x→y, y→z, z→x, including the self-loop x→x) would rotate a
fully-occupied set of atoms with no empty site, which AOD hardware
cannot do (tones in a group share a direction and cannot cross).
Cyclic buses are therefore rejected outright, while
overlapping-but-acyclic buses remain legal.
EntanglingPair(String)
Entangling zone pair validation error.
Mode(String)
Mode validation error.
Path(String)
Transport path validation error.
Trait Implementations§
Source§impl Clone for ArchSpecError
impl Clone for ArchSpecError
Source§fn clone(&self) -> ArchSpecError
fn clone(&self) -> ArchSpecError
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 ArchSpecError
impl Debug for ArchSpecError
Source§impl Display for ArchSpecError
impl Display for ArchSpecError
Source§impl Error for ArchSpecError
impl Error for ArchSpecError
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 ArchSpecError
impl PartialEq for ArchSpecError
Source§fn eq(&self, other: &ArchSpecError) -> bool
fn eq(&self, other: &ArchSpecError) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ArchSpecError
Auto Trait Implementations§
impl Freeze for ArchSpecError
impl RefUnwindSafe for ArchSpecError
impl Send for ArchSpecError
impl Sync for ArchSpecError
impl Unpin for ArchSpecError
impl UnsafeUnpin for ArchSpecError
impl UnwindSafe for ArchSpecError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
MaybeRef].