Skip to main content
Next (unreleased) · docs c218d875 · core f63c1e69 · built 2026-10-26 22:39 UTC

Module graphs may not be cyclic, so modules cannot be mutually dependent

Gap​

A circular import is a compile error (circular module dependency, with the full import chain). Two modules therefore cannot call each other's functions: mutual recursion across a module boundary is not expressible, and a cycle must be broken by moving the shared definitions into a third module.

Impact​

Programs that would naturally express mutually recursive modules must restructure them. This is a specified property of the module system, not an implementation shortfall.

Affects​

Resolution​

None recorded: no RFC or issue proposes allowing cyclic module graphs.