bloqade.gemini.common.validation.recursion.Cycle
← Module overview
class
classCycle¶source
bloqade.gemini.common.validation.recursion.Cycle
A cycle, plus how the validated kernel reaches it.
Signature
class Cycle(route: tuple[ir.Method, ...], members: tuple[ir.Method, ...])members is [m0, ..., mn] where mn calls m0. route is the
path from the entry method down to m0, excluding the cycle itself, and
is empty when the entry method is part of the cycle.
The route matters because the cycle is often not in the kernel being
validated. Any Gemini kernel containing a cycle is rejected at its own
definition, so it can never become a callee — but a kernel built with
another dialect group (squin.kernel, say) runs no such guard, and a
Gemini kernel may invoke one. Then the cycle sits one or more hops away and
naming it alone would not say how it is reached.
Parameters
| Name | Type | Description |
|---|---|---|
route | tuple[ir.Method, ...] | |
members | tuple[ir.Method, ...] |
Attributes
| Name | Type | Description |
|---|---|---|
route | tuple[ir.Method, ...] | |
members | tuple[ir.Method, ...] |