error[E0391]: cycle detected when expanding type alias `Node1Value` --> fail/interface/struct/derive_cyclic_impl.rs:4:36 | 4 | #[graphql(impl = Node2Value, for = Node2Value)] | ^^^^^^^^^^ | note: ...which requires expanding type alias `Node2Value`... --> fail/interface/struct/derive_cyclic_impl.rs:10:36 | 10 | #[graphql(impl = Node1Value, for = Node1Value)] | ^^^^^^^^^^ = note: ...which again requires expanding type alias `Node1Value`, completing the cycle = note: type aliases cannot be recursive = help: consider using a struct, enum, or union instead to break the cycle = help: see for more information note: cycle used when collecting item types in top-level module --> fail/interface/struct/derive_cyclic_impl.rs:1:1 | 1 | / use juniper::GraphQLInterface; 2 | | 3 | | #[derive(GraphQLInterface)] 4 | | #[graphql(impl = Node2Value, for = Node2Value)] ... | 14 | | 15 | | fn main() {} | |____________^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information