#[non_exhaustive]pub enum EditError {
Show 22 variants
DetectorBundle(DetectorBundleError),
MembershipSelectionRequired,
MembershipAnalysis(NodeTemplateInstanceMergeError),
InvalidLevelPath {
path: LevelPath,
},
MemoryRoundTargetMissing {
path: LevelPath,
node: BloqNodeId,
},
MemoryRoundTargetNotQuantum {
path: LevelPath,
node: BloqNodeId,
},
InvalidQuantumEdge {
from: BloqNodeId,
to: BloqNodeId,
},
EmptyPadding,
TemplateInstanceIdExhausted,
UnknownTemplate {
template: TemplateId,
},
SeamCompositionFailed {
source: FlowError,
},
EdgePaddingMissing {
from: BloqNodeId,
to: BloqNodeId,
},
PaddingTemplateNotLooped {
template: TemplateId,
},
TemplateNotSingleLooped {
template: TemplateId,
repeats: usize,
},
InvalidStoredSeam,
SeamRecompositionMismatch,
AfterTargetTopLevel,
AfterTargetNotTerminal {
node: BloqNodeId,
},
AfterPaddingMissing {
node: BloqNodeId,
},
AfterPaddingAmbiguous {
node: BloqNodeId,
offset: IVec2,
},
AfterBoundaryTargetNotQuantum {
node: BloqNodeId,
},
TerminalRecompositionMismatch,
}Expand description
Why a post-compile graph edit was rejected.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DetectorBundle(DetectorBundleError)
A detector bundle use is malformed.
MembershipSelectionRequired
Conditional membership must be pinned first.
MembershipAnalysis(NodeTemplateInstanceMergeError)
Boolean membership analysis failed.
InvalidLevelPath
A level path no longer resolves.
MemoryRoundTargetMissing
The target node is missing.
MemoryRoundTargetNotQuantum
The target node is not quantum.
InvalidQuantumEdge
The endpoints do not identify one editable quantum seam.
EmptyPadding
Requested padding is empty.
TemplateInstanceIdExhausted
No template-instance id remains.
UnknownTemplate
A referenced template is absent.
Fields
template: TemplateIdMissing template id.
SeamCompositionFailed
Boundary-flow composition failed.
EdgePaddingMissing
A quantum seam lacks padding provenance.
PaddingTemplateNotLooped
A looped padding template has no single repeat.
Fields
template: TemplateIdInvalid template.
TemplateNotSingleLooped
A template does not contain exactly one top-level repeat.
InvalidStoredSeam
Stored seam data disagrees with its templates.
SeamRecompositionMismatch
Replacement padding does not reproduce the seam.
AfterTargetTopLevel
Appending after a top-level node is unsupported.
AfterTargetNotTerminal
The append target is not terminal.
Fields
node: BloqNodeIdNonterminal node.
AfterPaddingMissing
The enclosing boundary has no matching padding.
Fields
node: BloqNodeIdTerminal node.
AfterPaddingAmbiguous
Several terminal instances occupy the same offset.
AfterBoundaryTargetNotQuantum
A boundary target is not quantum.
Fields
node: BloqNodeIdNon-quantum boundary node.
TerminalRecompositionMismatch
Terminal padding does not reproduce its boundary.
Trait Implementations§
impl Eq for EditError
Source§impl Error for EditError
impl Error for EditError
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<DetectorBundleError> for EditError
impl From<DetectorBundleError> for EditError
Source§fn from(source: DetectorBundleError) -> Self
fn from(source: DetectorBundleError) -> Self
Source§impl From<NodeTemplateInstanceMergeError> for EditError
impl From<NodeTemplateInstanceMergeError> for EditError
Source§fn from(source: NodeTemplateInstanceMergeError) -> Self
fn from(source: NodeTemplateInstanceMergeError) -> Self
impl StructuralPartialEq for EditError
Auto Trait Implementations§
impl Freeze for EditError
impl RefUnwindSafe for EditError
impl Send for EditError
impl Sync for EditError
impl Unpin for EditError
impl UnsafeUnpin for EditError
impl UnwindSafe for EditError
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.