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 fn is_self_reference(&self) -> bool
pub 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§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.