pub struct CyclePath {
pub nodes: Vec<String>,
}Expand description
A path representing a circular dependency in the schema.
Contains the sequence of type names that form the cycle.
Fields§
§nodes: Vec<String>Type names in the cycle, in dependency order.
For a cycle A → B → C → A, this would be ["A", "B", "C"].
Implementations§
Source§impl CyclePath
impl CyclePath
Sourcepub fn path_string(&self) -> String
pub fn path_string(&self) -> String
Format the cycle as a readable path string.
§Example
use fraiseql_core::schema::CyclePath;
let cycle = CyclePath::new(vec!["A".to_string(), "B".to_string(), "C".to_string()]);
assert_eq!(cycle.path_string(), "A → B → C → A");Sourcepub const fn is_self_reference(&self) -> bool
pub const fn is_self_reference(&self) -> bool
Check if this is a self-referencing cycle (single node).
Trait Implementations§
impl Eq for CyclePath
impl StructuralPartialEq for CyclePath
Auto Trait Implementations§
impl Freeze for CyclePath
impl RefUnwindSafe for CyclePath
impl Send for CyclePath
impl Sync for CyclePath
impl Unpin for CyclePath
impl UnsafeUnpin for CyclePath
impl UnwindSafe for CyclePath
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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