pub enum CandidateTraceIdentity {
Operation(CandidateTraceOperationIdentity),
Composite(CandidateTraceCompositeIdentity),
}Expand description
Canonical, owned identity for one traced candidate.
This is deliberately structured rather than debug-formatted or pointer based. The grammar supports a leaf operation with its own logical scope and an ordered composite of independently scoped child identities. That means grouped and cartesian moves do not have to flatten cross-descriptor edits into a misleading parent scope. The framing preserves every field and every list boundary, so a trace consumer can compare exact candidate ordering without relying on a process-local hash.
Variants§
Operation(CandidateTraceOperationIdentity)
One logical operation scoped to a descriptor and, when applicable, a planning variable.
Composite(CandidateTraceCompositeIdentity)
An ordered composition of logical child operations. The composite has no implicit descriptor/variable scope; every child carries its own.
Implementations§
Source§impl CandidateTraceIdentity
impl CandidateTraceIdentity
pub fn operation<I, T>( descriptor_index: usize, operation: impl Into<String>, components: I, ) -> Self
pub fn logical_move<I, T>( descriptor_index: usize, variable_name: impl Into<String>, family: impl Into<String>, coordinates: I, ) -> Self
Sourcepub fn composite(
operation: impl Into<String>,
children: impl IntoIterator<Item = CandidateTraceIdentity>,
) -> Self
pub fn composite( operation: impl Into<String>, children: impl IntoIterator<Item = CandidateTraceIdentity>, ) -> Self
Builds an ordered composite identity without inventing a shared scope for child operations that may target different descriptors/variables.
pub fn canonical_bytes(&self) -> Vec<u8> ⓘ
Trait Implementations§
Source§impl Clone for CandidateTraceIdentity
impl Clone for CandidateTraceIdentity
Source§fn clone(&self) -> CandidateTraceIdentity
fn clone(&self) -> CandidateTraceIdentity
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 CandidateTraceIdentity
impl Debug for CandidateTraceIdentity
impl Eq for CandidateTraceIdentity
Source§impl PartialEq for CandidateTraceIdentity
impl PartialEq for CandidateTraceIdentity
impl StructuralPartialEq for CandidateTraceIdentity
Auto Trait Implementations§
impl Freeze for CandidateTraceIdentity
impl RefUnwindSafe for CandidateTraceIdentity
impl Send for CandidateTraceIdentity
impl Sync for CandidateTraceIdentity
impl Unpin for CandidateTraceIdentity
impl UnsafeUnpin for CandidateTraceIdentity
impl UnwindSafe for CandidateTraceIdentity
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<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
key and return true if they are equal.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