Skip to main content

PlanIssue

Enum PlanIssue 

Source
pub enum PlanIssue {
    ContradictoryFacts {
        between: ContradictionPair,
    },
    UnknownKind {
        named: Identity<ProjectionKind>,
    },
    ProfileUnsupported {
        profile: Profile,
    },
    BoundExceeded {
        axis: BoundAxis,
        bound: u64,
        observed: u64,
    },
    MembershipIncomplete {
        absent: Identity<GeneratedUnit>,
    },
    OrphanGeneratedNode {
        node: Identity<GeneratedUnit>,
    },
    MembershipDoubled {
        role_slot: u16,
        observed: u32,
    },
    TrailDiscontinuous {
        at: u32,
    },
    CauseSetUnwatchable {
        named: u32,
        watchable: u32,
    },
    MembershipForeign {
        seat: &'static str,
    },
    AddressInert {
        seat: &'static str,
    },
}
Expand description

One way planning refuses.

No issue is payload-free: an issue names what it observed, because a bare row makes the reader guess. Several are reachable only where a plan arrives decoded rather than built through the roads here, since the typed roads cannot express an unimplemented kind, an orphaned unit, or an incomplete membership.

Variants§

§

ContradictoryFacts

Two facts that decided this plan disagree.

Fields

§between: ContradictionPair

The disagreeing pair.

§

UnknownKind

The plan names a kind this compiler was not handed an implementation of.

Fields

§named: Identity<ProjectionKind>

The named kind’s identity.

§

ProfileUnsupported

The profile the request selected offers no such projection.

Fields

§profile: Profile

The profile that offers it not.

§

BoundExceeded

A declared magnitude was exceeded.

Fields

§axis: BoundAxis

Which magnitude.

§bound: u64

The declared bound.

§observed: u64

The observed count.

§

MembershipIncomplete

A declared sibling output is absent from the membership.

Fields

§absent: Identity<GeneratedUnit>

The absent unit.

§

OrphanGeneratedNode

A generated unit arrived with no origin.

Fields

§node: Identity<GeneratedUnit>

The orphaned unit.

§

MembershipDoubled

Two planned members stand under one seat.

Closure matches a rendered unit to a planned member BY SEAT, so a seat carrying two members leaves that match electing one of them and proving nothing about the other.

Fields

§role_slot: u16

The doubled seat’s position in its kind’s roster.

§observed: u32

How many members stood under it.

§

TrailDiscontinuous

An origin trail’s edges do not join: the edge at this position starts at a node the edge before it did not produce.

A walk with a gap in it is not a shorter walk — it is two walks presented as one, and whichever end a reader trusts, the other end is provenance nobody established.

Fields

§at: u32

The position of the edge that does not join its predecessor, counted from the trail’s first edge.

§

CauseSetUnwatchable

A narrow one-trigger reading was asked of an account that names more than one independent cause.

A watch covering the first cause and no other reads exactly like a complete one, so the reading refuses rather than issuing a claim about the causes it dropped.

Fields

§named: u32

How many independent causes the account names.

§watchable: u32

How many of them the reading can watch.

§

MembershipForeign

A planned member stands under a seat the kind’s roster does not declare.

The roster is the denominator of every downstream walk — encoding, proof, reconstruction, delivery. A member outside it would render, vanish from all of them, and leave the closure proving a set it never examined whole, so the member refuses at admission instead.

Fields

§seat: &'static str

The undeclared seat’s own declared name.

§

AddressInert

An address was stated for a seat no publication act consumes.

An address is a claim about where an artifact will be written, and only a seat delivering to a publication artifact ever writes to one. Stated anywhere else — a declaration site, a test carrier, or a seat outside the roster entirely — the address would still enter every identity while no act ever consumed it: a writable claim with no product act, which is exactly the shape this plan refuses to hold.

Fields

§seat: &'static str

The seat the address was stated for, by its own declared name.

Implementations§

Source§

impl PlanIssue

Source

pub fn canonical_bytes(&self) -> Vec<u8>

This issue’s canonical bytes on their own, for the related identity a diagnostic derives over it.

Source

pub fn encode_into(&self, into: &mut Vec<u8>)

Appends this issue’s canonical bytes: the row’s position in the declared roster, then the typed material that row carries, framed.

Exhaustive over the roster on purpose: an issue added to PlanIssue stops compiling HERE until somebody says what of it a preimage commits to, so no issue can be admitted and left out of every identity derived over a refusal that carries it.

Source§

impl PlanIssue

Source

pub const fn slot(&self) -> u8

This row’s position in the declared roster, written ahead of the issue’s own material.

Source

pub const fn observed(&self) -> Observed

How what this issue observed differs from the contract that was expected.

Trait Implementations§

Source§

impl Clone for PlanIssue

Source§

fn clone(&self) -> PlanIssue

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 Copy for PlanIssue

Source§

impl Debug for PlanIssue

Source§

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

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

impl Display for PlanIssue

Source§

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

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

impl Eq for PlanIssue

Source§

impl Hash for PlanIssue

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PlanIssue

Source§

fn eq(&self, other: &PlanIssue) -> 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 PlanIssue

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<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<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> 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> 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 = !

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.