pub struct ReferrerInfo {
pub from_id: String,
pub rel_types: Vec<String>,
pub mem: String,
}Expand description
Typed payload for a single Write-Mem referrer in
EngineError::HasIncomingRefs. Captures the (from_id, rel_types,
mem) triple the surface envelope projects so consumers can reason
about the offending edges without a follow-up memstead_entity call.
The mem is always a Write-Mem — ReadOnly referrers are
partitioned out before this struct is constructed and surfaced via
the residual-stub warning channel instead.
Per-source deduplication: when one source entity has multiple
edges of different rel-types pointing at the deletion target, the
engine collapses them into a single ReferrerInfo whose
rel_types list carries every edge type. A prior shape
emitted one entry per edge, making a source-with-N-edges look
like N distinct referrers in the error message and structured
payload.
Fields§
§from_id: String§rel_types: Vec<String>§mem: StringTrait Implementations§
Source§impl Clone for ReferrerInfo
impl Clone for ReferrerInfo
Source§fn clone(&self) -> ReferrerInfo
fn clone(&self) -> ReferrerInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReferrerInfo
impl Debug for ReferrerInfo
Source§impl Display for ReferrerInfo
Inline rendering on the text mirror. Single rel-type renders as
just the referring entity id; multiple rel-types append the
×N [REL1, REL2] annotation so the count and the offending
edge-types stay visible without parsing the structured payload.
impl Display for ReferrerInfo
Inline rendering on the text mirror. Single rel-type renders as
just the referring entity id; multiple rel-types append the
×N [REL1, REL2] annotation so the count and the offending
edge-types stay visible without parsing the structured payload.
Auto Trait Implementations§
impl Freeze for ReferrerInfo
impl RefUnwindSafe for ReferrerInfo
impl Send for ReferrerInfo
impl Sync for ReferrerInfo
impl Unpin for ReferrerInfo
impl UnsafeUnpin for ReferrerInfo
impl UnwindSafe for ReferrerInfo
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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 more