pub enum RelationshipType {
Shared,
Exclusive,
Dedicated,
Linear,
Lifeline,
}Expand description
How a dependent element relates to its target.
Variants§
Concurrent access is allowed. The default edge shape.
Exclusive
Serialise dependents against the target (reducto Rule 2 inserts serialisation barriers).
Dedicated
One target instance per dependent — the target gets coalesced with its owner by the compiler.
Linear
Full-lifecycle ordering within the same trial scope: the target must complete before the dependent starts.
Lifeline
Target’s teardown subsumes the dependent’s — the dependent has no explicit teardown step.
Implementations§
Source§impl RelationshipType
impl RelationshipType
Sourcepub const fn requires_serialization_barrier(&self) -> bool
pub const fn requires_serialization_barrier(&self) -> bool
true for relationships that require the compiler to insert
a serialisation barrier around the target.
Sourcepub const fn requires_dedicated_instance(&self) -> bool
pub const fn requires_dedicated_instance(&self) -> bool
true for relationships that require a dedicated target
instance per dependent (coalesced with its owner).
Sourcepub const fn implies_lifecycle_coupling(&self) -> bool
pub const fn implies_lifecycle_coupling(&self) -> bool
true for relationships whose teardown is folded into the
target’s.
Trait Implementations§
Source§impl Clone for RelationshipType
impl Clone for RelationshipType
Source§fn clone(&self) -> RelationshipType
fn clone(&self) -> RelationshipType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelationshipType
impl Debug for RelationshipType
Source§impl<'de> Deserialize<'de> for RelationshipType
impl<'de> Deserialize<'de> for RelationshipType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for RelationshipType
impl Hash for RelationshipType
Source§impl PartialEq for RelationshipType
impl PartialEq for RelationshipType
Source§impl Serialize for RelationshipType
impl Serialize for RelationshipType
impl Copy for RelationshipType
impl Eq for RelationshipType
impl StructuralPartialEq for RelationshipType
Auto Trait Implementations§
impl Freeze for RelationshipType
impl RefUnwindSafe for RelationshipType
impl Send for RelationshipType
impl Sync for RelationshipType
impl Unpin for RelationshipType
impl UnsafeUnpin for RelationshipType
impl UnwindSafe for RelationshipType
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.