Skip to main content

RelAttrError

Enum RelAttrError 

Source
pub enum RelAttrError {
    RelAbsConflict {
        field: &'static str,
    },
    Expr(ShapeExprError),
    SymbolicGap {
        field: &'static str,
    },
    Negative {
        field: &'static str,
        value: i64,
    },
    AxisLastUnsupported {
        tag: OpTag,
    },
    NoChildOperand,
    FrameNotExpressible {
        field: &'static str,
        frame: Vec<i64>,
        missing_ctor: u8,
    },
}
Expand description

A shape-relative attr resolution failure — a typed decline, never a panic. The emit-integration caller (T3) surfaces any of these as a decompose fixpoint (return id, G2); the registration-validation caller rejects the region. The field names the CONCRETE sibling the rel field resolves into ("target_shape", "slice_start", "slice_len", "axis", "dims").

Variants§

§

RelAbsConflict

A rel field and its concrete sibling are BOTH set — ambiguous authoring (rel XOR abs per field), refused rather than given a silent precedence.

Fields

§field: &'static str
§

Expr(ShapeExprError)

The underlying shape-expression evaluation declined (bind out of range, axis out of range, divide-by-zero, Param with no param threading, …).

§

SymbolicGap

The expression evaluated over a SYMBOLIC bind extent → a surfaced gap (§6.20-0004): a rel attr cannot resolve concrete at emit time.

Fields

§field: &'static str
§

Negative

The expression produced a negative value where a non-negative extent/offset is required.

Fields

§field: &'static str
§value: i64
§

AxisLastUnsupported

axis_last on a tag with no axis carrier (e.g. Add) — meaningless, refused (build-time validation, never silently ignored).

Fields

§tag: OpTag
§

NoChildOperand

axis_last with no child operand — no rank to resolve LAST against.

§

FrameNotExpressible

The region’s Bind-space broadcast frame is assembled by per-axis max across ≥2 binds (a[N,1] ⊗ b[1,M] → [N,M]), so NO single operand carries it — and SameAs { operand }, the §6.20 EXPRESSION kind’s only whole-shape constructor, therefore cannot express it. Accepting the SameAs would SILENTLY resolve a BroadcastTo target to a PARTIAL frame ([N,1] or [1,M]) and emit the wrong graph, so it is refused instead (Baracuda’s §6.20 finding). A Dims-class gap: missing_ctor is the reserved wire tag of the constructor that WOULD express it (fuel_kernel_seam_types::shape_expr::TAG_DIMS = 0x0B, a §6.20-0002 extension-registry entrant — proposal filed KISS #80). frame is the computed per-axis-max frame, for telemetry.

Fields

§field: &'static str
§frame: Vec<i64>
§missing_ctor: u8

Trait Implementations§

Source§

impl Clone for RelAttrError

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RelAttrError

Source§

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

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

impl Eq for RelAttrError

Source§

impl PartialEq for RelAttrError

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RelAttrError

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
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V