mirror of
https://github.com/apple/swift.git
synced 2026-10-22 19:15:50 +02:00
Two classes whose generic superclasses name each other, like `class A: Base<B>` and `class B: Base<A>`, crashed any client that imported them: checking one class's dependencies led back to the other, recursing until the stack ran out. Now the module deserializer detects the cycle: a class that is re-entered while its dependencies are still being checked skips the checks and creates the decl right away.