Skip to main content

ReverseContributions

Struct ReverseContributions 

Source
pub struct ReverseContributions {
    pub provided_triggers: HashSet<String>,
    pub assigned_statuses: HashMap<String, HashSet<String>>,
    pub witnessed_transitions: HashMap<String, HashSet<(String, String)>>,
    pub referenced_fields: HashSet<String>,
}
Expand description

Contributions an importing module makes, by qualified reference, to an imported module’s entities and triggers. Analysis runs per file, so an imported module never sees the importers that drive its entities. These contributions are aggregated across every importer in the check set and fed back into the imported module’s analysis, so a modular spec is analysed as the equivalent merged single file would be. Empty in single-file mode and whenever no use edge links the modules — crediting requires a real import edge, never arbitrary co-supply.

Fields§

§provided_triggers: HashSet<String>

Trigger names an importer provides via provides: alias/Trigger(...). Makes the imported module’s rules that listen for them reachable (#63).

§assigned_statuses: HashMap<String, HashSet<String>>

Imported entity name → status values an importer assigns, whether via alias/Entity.created(status: X) (#62) or as the target of a witnessed transition (#64).

§witnessed_transitions: HashMap<String, HashSet<(String, String)>>

Imported entity name → transition edges (from, to) an importer witnesses by guarding on from and assigning to on a binding typed to that entity by the imported module’s surface provides: (#64).

§referenced_fields: HashSet<String>

Field names of imported entities that an importer references via a qualified access (alias/Entity.field). Such a field is used even though its only reference lives in another module, so the imported module must not report it as unused.

Implementations§

Source§

impl ReverseContributions

Source

pub fn is_empty(&self) -> bool

True when there is nothing to contribute.

Source

pub fn merge(&mut self, other: ReverseContributions)

Fold another importer’s contributions into this aggregate.

Trait Implementations§

Source§

impl Clone for ReverseContributions

Source§

fn clone(&self) -> ReverseContributions

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 ReverseContributions

Source§

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

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

impl Default for ReverseContributions

Source§

fn default() -> ReverseContributions

Returns the “default value” for a type. Read more

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, 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.