#[non_exhaustive]pub enum MomentAlignmentError {
Cycle(CycleDetected),
UnknownNode {
node: BloqNodeId,
},
NonQuantumNode {
node: BloqNodeId,
},
DuplicateLane {
node: BloqNodeId,
},
InvalidTimeline {
node: BloqNodeId,
},
TimelineRoundCountMismatch {
node: BloqNodeId,
expected: u32,
actual: usize,
},
UnsupportedCircuitOperation {
operation: &'static str,
},
LayerOrderConflict {
predecessor: BloqNodeId,
dependent: BloqNodeId,
predecessor_layer: i64,
dependent_layer: i64,
},
AlignmentTooLarge {
left_moments: usize,
right_moments: usize,
},
}Expand description
Why raw node moments could not be aligned against their graph level.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Cycle(CycleDetected)
The graph has no causal order.
UnknownNode
A lane names no live node in this graph level.
Fields
node: BloqNodeIdMissing node id.
NonQuantumNode
Only quantum nodes own physical moments.
Fields
node: BloqNodeIdNon-quantum node id.
DuplicateLane
A node has exactly one raw moment lane.
Fields
node: BloqNodeIdDuplicated node id.
InvalidTimeline
Hand-built timeline metadata violates its cumulative-layer contract.
Fields
node: BloqNodeIdNode with invalid timeline metadata.
TimelineRoundCountMismatch
Timeline cuts count logical rounds, so the descriptor count must agree.
Fields
node: BloqNodeIdAffected node.
UnsupportedCircuitOperation
The circuit operation cannot be represented by aligned kind buckets.
LayerOrderConflict
Layer-major emission would start a dependent node before its source ends.
Fields
predecessor: BloqNodeIdEarlier causal node.
dependent: BloqNodeIdDependent node scheduled too early.
AlignmentTooLarge
The pairwise dynamic-programming table is deliberately bounded.
Trait Implementations§
Source§impl Clone for MomentAlignmentError
impl Clone for MomentAlignmentError
Source§fn clone(&self) -> MomentAlignmentError
fn clone(&self) -> MomentAlignmentError
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 MomentAlignmentError
impl Debug for MomentAlignmentError
Source§impl Display for MomentAlignmentError
impl Display for MomentAlignmentError
impl Eq for MomentAlignmentError
Source§impl Error for MomentAlignmentError
impl Error for MomentAlignmentError
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<CycleDetected> for MomentAlignmentError
impl From<CycleDetected> for MomentAlignmentError
Source§fn from(source: CycleDetected) -> Self
fn from(source: CycleDetected) -> Self
Source§impl PartialEq for MomentAlignmentError
impl PartialEq for MomentAlignmentError
impl StructuralPartialEq for MomentAlignmentError
Auto Trait Implementations§
impl Freeze for MomentAlignmentError
impl RefUnwindSafe for MomentAlignmentError
impl Send for MomentAlignmentError
impl Sync for MomentAlignmentError
impl Unpin for MomentAlignmentError
impl UnsafeUnpin for MomentAlignmentError
impl UnwindSafe for MomentAlignmentError
Blanket Implementations§
§impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
fn assign_index(&mut self, index: usize, to: bool)
fn negate_index(&mut self, index: usize)
fn clear_bits(&mut self)
fn assign_random(
&mut self,
bit_count: usize,
random_number_generator: &mut impl RngExt,
)where
BorrowedSelf: BitLength,
§impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
fn assign(&mut self, other: &Other)
fn bitxor_assign(&mut self, other: &Other)
fn bitand_assign(&mut self, other: &Other)
fn bitor_assign(&mut self, other: &Other)
§impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
§impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
fn index(&self, index: usize) -> bool
fn weight(&self) -> usize
fn parity(&self) -> bool
fn is_zero(&self) -> bool
fn is_unit(&self, index: usize) -> bool
fn support<'a>(&'a self) -> impl SortedIteratorwhere
BorrowedSelf: 'a,
fn max_support(&self) -> Option<usize>
fn min_support(&self) -> Option<usize>
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<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
§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.