pub enum AssemblyError {
UnknownWire(String),
TypeMismatch {
from_node: String,
from_port: usize,
from_type: PortType,
to_node: String,
to_port: usize,
to_type: PortType,
},
DuplicateNode(String),
CycleDetected,
ArityMismatch {
node_name: String,
expected: usize,
got: usize,
},
ConstantFold(String),
ConstInit {
name: String,
reason: String,
},
OpenInputs(Vec<(String, PortType)>),
NativeCone {
cone: String,
reason: String,
},
Other(String),
}Expand description
Errors that can occur during assembly.
Variants§
UnknownWire(String)
A wire reference names no node output or input.
TypeMismatch
A wire’s type does not match the port it feeds and no adapter heals it.
Fields
DuplicateNode(String)
Two nodes were added under one name.
CycleDetected
The wiring has a cycle.
ArityMismatch
A node was wired with the wrong number of inputs.
Fields
ConstantFold(String)
A compile-constant step could not be computed; see
KernelError::ConstantFold, which this becomes at the kernel
boundary. Carried here so the interpreter’s build path, which
speaks AssemblyError, reports the same kind as the compiled
engines do rather than folding it into Other.
ConstInit
A const binding could not be computed when the kernel was
initialized; see KernelError::ConstInit, which this becomes at
the kernel boundary.
OpenInputs(Vec<(String, PortType)>)
CompileOptions::input_variance is Error and these inputs’
types were inferred rather than declared, as (name, inferred type) (input_variance.md §4).
NativeCone
Native code generation failed for an interpreter cone under
JitMode::Force, which builds native code or fails (engines.md
§2.1).
Fields
Other(String)
Catch-all for errors from downstream phases (e.g., strict mode).
Trait Implementations§
Source§impl Debug for AssemblyError
impl Debug for AssemblyError
Source§impl Display for AssemblyError
impl Display for AssemblyError
Source§impl Error for AssemblyError
impl Error for AssemblyError
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 From<AssemblyError> for KernelError
impl From<AssemblyError> for KernelError
Source§fn from(e: AssemblyError) -> Self
fn from(e: AssemblyError) -> Self
Auto Trait Implementations§
impl Freeze for AssemblyError
impl RefUnwindSafe for AssemblyError
impl Send for AssemblyError
impl Sync for AssemblyError
impl Unpin for AssemblyError
impl UnsafeUnpin for AssemblyError
impl UnwindSafe for AssemblyError
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more