Support non-monotonic transfer for local functions (#39570)
Local function flow analysis has always been special-cased for definite assignment, and specifically for definite assignment with monotonic assignment. This change implements the same non-monotonic tracking that we use for try-finally for local functions. This is a conservative analysis, meaning that certain rare cases may not transfer as much information as possible. It's currently assumed that these cases are rare enough to not be frustrating. No safety problems should be present in the conservative analysis. Fixes #14400 Fixes #14214
Showing
想要评论请 注册 或 登录