mypy
8afa1d71 - Fix coroutine return type handling after deferring (#8741)

Commit
6 years ago
Fix coroutine return type handling after deferring (#8741) If a nested function definition was processed multiple times due to deferring, its return type would be transformed from `T` to `Coroutine[Any, Any, T]` each time. The flag `SemanticAnalyzer.deferred` was checked to prevent this double processing, but it's reset (to false) when the analyzer is restarted, so is not reliably usable here. Fix by tracking which function definitions have had their return type wrapped, in the mapping `SemanticAnalyzer.wrapped_coro_return_types`. Fixes #7736
Author
Parents
Loading