swift
d2366a53 - [Sema] Stop visiting existential exprs an extra time checking for uses (#27164)

Commit
6 years ago
[Sema] Stop visiting existential exprs an extra time checking for uses (#27164) This was causing an exponential amount of time traversing the AST with deeply chained protocol extension methods, such as in the TestCodableRouter.swift test in Kitura. If the OpaqueValueExpr is referenced more than once within the OpenExistentialExpr it'll still get visited more than once, but that doesn't seem to happen in practice. If it turns out to be a problem, we can weaken the assertion I'm adding here. https://bugs.swift.org/browse/SR-11012 (cherry picked from commit dc59cd2043f001eec89cc2aa5704b2dc48f7d357)
Author
Parents
Loading