cpython-0001: pydoc.allmethods unconditional __bases__ recursion, no visited guard cpython-0002: turtle.__methodDict unconditional __bases__ recursion, fires at import cpython-0003: idlelib.rpc._getmethods unconditional __bases__ recursion, IDLE debug path django-0006: migrations.state.flatten_bases abstract model diamond traversal (comment in source acknowledges duplicates) flask/rails/ruby/phoenix: CLEAN
673 B
673 B
Phoenix — CWE-407 Diamond Traversal Scan: CLEAN
Scanned: 2026-03-30
Files examined
lib/phoenix/router.ex— plug pipeline compilation uses Elixir macros; no recursive module hierarchy traversallib/phoenix/endpoint.ex— module configuration, no class hierarchy traversallib/phoenix/channel.ex— no recursive module traversal
Result
No diamond recursion defects found. Elixir's module system is flat — modules do not have a
mutable inheritance hierarchy that can form diamonds. use Phoenix.Router and related macros
expand at compile time into a flat list of plugs. No recursive ancestors/__bases__ pattern
exists in Elixir/Phoenix.