Skip to main content

LowerError

Enum LowerError 

Source
#[non_exhaustive]
pub enum LowerError {
Show 26 variants InvalidProgram(BloqValidationError), Flatten(FlattenError), Edit(EditError), Structure(StructureError), Analysis(ExecError), Alignment(MomentAlignmentError), Instantiation(NodeTemplateInstanceMergeError), DetectorBundle(DetectorBundleError), Cycle(CycleDetected), CoordinateOverflow(CoordinateOverflowError), InvalidDuration, InvalidSourceTiming, IdOverflow(&'static str), QuantumVariantLimit { node: u32, guards: usize, variants: usize, limit: usize, }, QuantumVariantAllocation { variants: usize, source: TryReserveError, }, MissingRecord { instance: u32, measurement: u32, }, MissingBit { node: u32, slot: u32, }, MissingOutputFrame([i32; 3]), MissingInputInstance(u32), MissingOutputInstance(u32), ReusedOutputBoundary, NonSourceRus(u32), MissingMemoryTemplate { from: u32, to: u32, }, MissingDecoderHold(u32), Unflattened(&'static str), InvalidFrontier(usize),
}
Expand description

Failure to produce a finite, standalone VM program.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

InvalidProgram(BloqValidationError)

An IR emission plan could not be materialized.

§

Flatten(FlattenError)

Repeat flattening failed or exceeded its configured IR resource bound.

§

Edit(EditError)

Materializing an exact dynamic memory frontier failed.

§

Structure(StructureError)

A region boundary did not have the unique escape required for padding.

§

Analysis(ExecError)

Output-cut or decode-closure analysis failed.

§

Alignment(MomentAlignmentError)

Existing IR moment lanes could not be aligned exactly.

§

Instantiation(NodeTemplateInstanceMergeError)

A node could not be instantiated or noised exactly.

§

DetectorBundle(DetectorBundleError)

A shared detector use has an invalid bundle or owner binding.

§

Cycle(CycleDetected)

A graph level has no topological execution order.

§

CoordinateOverflow(CoordinateOverflowError)

A placed coordinate overflowed the IR coordinate lattice.

§

InvalidDuration

Lowering configuration contains an invalid duration or a derived sum overflowed.

§

InvalidSourceTiming

A configured or derived source release is negative or non-finite.

§

IdOverflow(&'static str)

Dense VM identifiers exhausted u32.

§

QuantumVariantLimit

A conditional stage would require too many materialized choices.

Fields

§node: u32

Level-local node id.

§guards: usize

Number of guard inputs.

§variants: usize

Observed reachable choice count, stopping at the first excess.

§limit: usize

Configured maximum.

§

QuantumVariantAllocation

A permitted choice count could not fit or allocate its choice table.

Fields

§variants: usize

Required reachable choice count.

§source: TryReserveError

Capacity or allocation failure from the choice table.

§

MissingRecord

A record was referenced outside its producing emission plan.

Fields

§instance: u32

Template instance id.

§measurement: u32

Template-local measurement id.

§

MissingBit

A value edge expected a bit from a binding-only or sink task.

Fields

§node: u32

Consuming level-local node id.

§slot: u32

Missing input slot.

§

MissingOutputFrame([i32; 3])

A declared logical output has no lowered frame register.

§

MissingInputInstance(u32)

A declared logical input has no lowered owning task.

§

MissingOutputInstance(u32)

A declared logical output has no physical owning node.

§

ReusedOutputBoundary

Dynamic execution cannot defer this reused output boundary to program end.

§

NonSourceRus(u32)

Dynamic retries are supported only for source-isolated RUS regions.

§

MissingMemoryTemplate

A dynamic readiness edge lacks complete persisted one-round padding.

Fields

§from: u32

Source region node.

§to: u32

Dependent node.

§

MissingDecoderHold(u32)

A source RUS output seam lost its physical decoder-hold cycle.

§

Unflattened(&'static str)

A flattened emission plan unexpectedly retained a loop or loop-state term.

§

InvalidFrontier(usize)

A materialized memory frontier could not be initialized exactly.

Trait Implementations§

Source§

impl Debug for LowerError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for LowerError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for LowerError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<BloqValidationError> for LowerError

Source§

fn from(source: BloqValidationError) -> Self

Converts to this type from the input type.
Source§

impl From<CoordinateOverflowError> for LowerError

Source§

fn from(source: CoordinateOverflowError) -> Self

Converts to this type from the input type.
Source§

impl From<CycleDetected> for LowerError

Source§

fn from(source: CycleDetected) -> Self

Converts to this type from the input type.
Source§

impl From<DetectorBundleError> for LowerError

Source§

fn from(source: DetectorBundleError) -> Self

Converts to this type from the input type.
Source§

impl From<EditError> for LowerError

Source§

fn from(source: EditError) -> Self

Converts to this type from the input type.
Source§

impl From<ExecError> for LowerError

Source§

fn from(source: ExecError) -> Self

Converts to this type from the input type.
Source§

impl From<FlattenError> for LowerError

Source§

fn from(source: FlattenError) -> Self

Converts to this type from the input type.
Source§

impl From<MomentAlignmentError> for LowerError

Source§

fn from(source: MomentAlignmentError) -> Self

Converts to this type from the input type.
Source§

impl From<NodeTemplateInstanceMergeError> for LowerError

Source§

fn from(source: NodeTemplateInstanceMergeError) -> Self

Converts to this type from the input type.
Source§

impl From<StructureError> for LowerError

Source§

fn from(source: StructureError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
where T: BorrowMut<BorrowedSelf>, BorrowedSelf: BitwiseMut + ?Sized,

§

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
where Bits: BorrowMut<BorrowedSelf> + ?Sized, Other: Borrow<BorrowedOther> + ?Sized, BorrowedSelf: Bitwise + BitwisePairMut<BorrowedOther> + ?Sized, BorrowedOther: Bitwise + ?Sized,

§

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
where T: Borrow<BorrowedSelf> + ?Sized, Other: Borrow<BorrowedOther> + ?Sized, BorrowedSelf: Bitwise + BitwisePair<BorrowedOther> + ?Sized, BorrowedOther: Bitwise + ?Sized,

§

fn dot(&self, other: &Other) -> bool

§

fn and_weight(&self, other: &Other) -> usize

§

fn or_weight(&self, other: &Other) -> usize

§

fn xor_weight(&self, other: &Other) -> usize

§

impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
where T: Borrow<BorrowedSelf>, BorrowedSelf: Bitwise + ?Sized,

§

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 SortedIterator
where BorrowedSelf: 'a,

§

fn max_support(&self) -> Option<usize>

§

fn min_support(&self) -> Option<usize>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.