Currently, the dependency walker should stop processing a node if it has already "seen" it. This is accomplished by assigning a unique Id (just an incrementing number for each module passed to Compile). We just need to document the effects of having two modules reference each other directly, or through other modules. ```mermaid graph TD A[ModuleA] --> B[ModuleB] A[ModuleA] --> C[ModuleC] B[ModuleB] --> C[ModuleC] C[ModuleB] --> B[ModuleC] ``` ```mermaid graph TD A[ModuleA] --> B[ModuleB] A[ModuleA] --> C[ModuleC] B[ModuleB] --> D[ModuleD] C[ModuleC] --> B[ModuleB] D[ModuleD] --> C[ModuleC] ```
Currently, the dependency walker should stop processing a node if it has already "seen" it.
This is accomplished by assigning a unique Id (just an incrementing number for each module passed to Compile).
We just need to document the effects of having two modules reference each other directly, or through other modules.
graph TD A[ModuleA] --> B[ModuleB] A[ModuleA] --> C[ModuleC] B[ModuleB] --> C[ModuleC] C[ModuleB] --> B[ModuleC]graph TD A[ModuleA] --> B[ModuleB] A[ModuleA] --> C[ModuleC] B[ModuleB] --> D[ModuleD] C[ModuleC] --> B[ModuleB] D[ModuleD] --> C[ModuleC]