diff --git a/mypy/checker.py b/mypy/checker.py
--- a/mypy/checker.py
+++ b/mypy/checker.py
@@ -843,6 +843,10 @@ def get_generator_yield_type(self, return_type: Type, is_coroutine: bool) -> Typ
 
         if isinstance(return_type, AnyType):
             return AnyType(TypeOfAny.from_another_any, source_any=return_type)
+        elif isinstance(return_type, UnionType):
+            return make_simplified_union(
+                [self.get_generator_yield_type(item, is_coroutine) for item in return_type.items]
+            )
         elif not self.is_generator_return_type(
             return_type, is_coroutine
         ) and not self.is_async_generator_return_type(return_type):
@@ -873,6 +877,10 @@ def get_generator_receive_type(self, return_type: Type, is_coroutine: bool) -> T
 
         if isinstance(return_type, AnyType):
             return AnyType(TypeOfAny.from_another_any, source_any=return_type)
+        elif isinstance(return_type, UnionType):
+            return make_simplified_union(
+                [self.get_generator_receive_type(item, is_coroutine) for item in return_type.items]
+            )
         elif not self.is_generator_return_type(
             return_type, is_coroutine
         ) and not self.is_async_generator_return_type(return_type):
@@ -912,6 +920,10 @@ def get_generator_return_type(self, return_type: Type, is_coroutine: bool) -> Ty
 
         if isinstance(return_type, AnyType):
             return AnyType(TypeOfAny.from_another_any, source_any=return_type)
+        elif isinstance(return_type, UnionType):
+            return make_simplified_union(
+                [self.get_generator_return_type(item, is_coroutine) for item in return_type.items]
+            )
         elif not self.is_generator_return_type(return_type, is_coroutine):
             # If the function doesn't have a proper Generator (or
             # Awaitable) return type, anything is permissible.

diff --git a/test-data/unit/check-async-await.test b/test-data/unit/check-async-await.test
--- a/test-data/unit/check-async-await.test
+++ b/test-data/unit/check-async-await.test
@@ -925,3 +925,21 @@ async def f() -> AsyncGenerator[int, None]:
 
 [builtins fixtures/async_await.pyi]
 [typing fixtures/typing-async.pyi]
+
+[case testAwaitUnion]
+from typing import overload, Union
+
+class A: ...
+class B: ...
+
+@overload
+async def foo(x: A) -> B: ...
+@overload
+async def foo(x: B) -> A: ...
+async def foo(x): ...
+
+async def bar(x: Union[A, B]) -> None:
+    reveal_type(await foo(x))  # N: Revealed type is "Union[__main__.B, __main__.A]"
+
+[builtins fixtures/async_await.pyi]
+[typing fixtures/typing-async.pyi]
diff --git a/test-data/unit/check-statements.test b/test-data/unit/check-statements.test
--- a/test-data/unit/check-statements.test
+++ b/test-data/unit/check-statements.test
@@ -2206,3 +2206,12 @@ def foo():
     x: int = "no"  # N: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs
     y = "no"  # type: int  # N: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs
     z: int  # N: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs
+
+[case testGeneratorUnion]
+from typing import Generator, Union
+
+class A: pass
+class B: pass
+
+def foo(x: int) -> Union[Generator[A, None, None], Generator[B, None, None]]:
+    yield x  # E: Incompatible types in "yield" (actual type "int", expected type "Union[A, B]")

@overload on async callables accepting and returning union types leads to type erasure
**Bug Report**

 Async callable which accepts a parameter with a union type, returns a union type and has `@overload` on said parameter has its return type erased when awaited. I'm hoping this sentence makes any sense, but in any case (pun not intended) the code snippet should demonstrate the issue.

**To Reproduce**

Here's the absolute minimum reproduction I could muster:

```python
from typing import overload

class A: pass
class B: pass

@overload
async def foo(x: A) -> B: ...

@overload
async def foo(x: B) -> A: ...

async def foo(x: A | B) -> A | B:
    return A() if isinstance(x, B) else B()

async def breaks(x: A | B) -> None:
    y = await foo(x)
    reveal_type(y) # Reveals Any, should reveal A | B
```

The following includes non async version of this code which actually works.

Gist URL: https://gist.github.com/2f8288673587ff27f6fca5024ddd0543
Playground URL: https://mypy-play.net/?mypy=master&python=3.11&gist=2f8288673587ff27f6fca5024ddd0543&flags=strict

**Expected Behavior**

`await foo(x)` in the above example should have type `A | B`.

**Actual Behavior**

`note: Revealed type is "Any"` is the actual result.

**Your Environment**

Original bug was found on Python 3.10 and mypy 0.991, with `--strict` and a number of per-file settings. I can include relevant excerpt of our `pyproject.toml`, although it seems that this issue is not configuration-specific.

On the playground the following was tried:
- Mypy version used: 0.991 (also tried with latest `master` as well as a random sampling of versions between `0.670` and `0.990`
- Mypy command-line flags: none and `--strict`, in fact none of the flag combinations lead to correct result
- Python version used: 3.10, 3.11



mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testNoYieldFromInAsyncDef mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncDefPass mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGenDisallowUntyped mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncFor mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testYieldFromNoAwaitable mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncDefReturn mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGenDisallowUntypedTriggers mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitableSubclass mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncDefMissingReturn mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncOverloadedFunction mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForTypeComments mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testYieldTypeCheckInDecoratedCoroutine mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncDefReturnWithoutValue mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForwardRefInBody mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForComprehension mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitCoroutine mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncDeferredAnalysis mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGenerator mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForComprehensionErrors mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitDefaultContext mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithInGenericClass mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWith mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorReturnIterator mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitAnyContext mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitOverloadSpecialCase mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitExplicitContext mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorManualIter mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testUnusedAwaitable mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitGeneratorError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithErrorBadAenter mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitIteratorError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncForOutsideCoroutine mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithErrorBadAenter2 mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorAsend mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitArgumentError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithOutsideCoroutine mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithErrorBadAexit mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorAthrow mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithErrorBadAexit2 mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitResultError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitMissingNote mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorExpressionAwait mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitReturnError mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncWithTypeComments mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnValue mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorNoSyncIteration mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testNoYieldInAsyncDef mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnSubtype mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDivAssign mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnWithoutAValue mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnNoneInFunctionReturningNone mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWhileStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testPowAssign mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorNoYieldFrom mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnInGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSubtypesInOperatorAssignment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testEmptyReturnInGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testBreakStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testNoReturnInGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testContinueStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAdditionalOperatorsInOpAssign mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAsyncGeneratorNoReturnWithValue mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testEmptyReturnInNoneTypedGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testInplaceOperatorMethods mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForStatementTypeComments mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testNonEmptyReturnInNoneTypedGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReturnInIterator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testInplaceSetitem mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForStatementMultipleTypeComments mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testIfStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAssert mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testFullCoroutineMatrix mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testPlusAssign mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseExceptionType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRedefinedFunctionInTryWithElse mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseNonExceptionTypeFails mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseClassObject mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithoutType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testMinusAssign mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseUnion mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseWithoutArgument mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseClassObjectCustomInit mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testMulAssign mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseNonExceptionUnionFails mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithMultipleTypes mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseFromStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithTypeType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testMatMulAssign mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode3 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testRaiseFromClassobject mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithMultipleTypes2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeErrorInvolvingBaseException mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode4 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTryFinallyStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithMultipleTypes3 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleTryExcept2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode5 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleTryExcept mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testBaseClassAsExceptionTypeInExcept mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithMultipleTypes4 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeErrorInBlock mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode6 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testMultipleExceptHandlers mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptWithAnyTypes mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testInvalidExceptionCallable mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableWithDisallowAnyExprInDeferredNode mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTryExceptStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReuseTryExceptionVariable mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testArbitraryExpressionAsExceptionType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTupleValueAsExceptionType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStmtWithAttribute mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTryExceptWithinFunction mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testReuseDefinedTryExceptionVariable mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testInvalidTupleValueAsExceptionType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTryExceptFlow mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionVariableReuseInDeferredNode1 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testOverloadedExceptionType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithTuple mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTryWithElse mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStmtWithTypeInfo mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionWithAnyBaseClass mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInFunctionReturningAny mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithAssignmentClass mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testExceptionIsType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInFunctionReturningFunction mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithConditions mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithAssignmentSimple mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInDynamicallyTypedFunction mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStmtWithIndex mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleYield mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithInvalidInstanceReturnType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithAssignmentTuple mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldWithNoValue mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInFunctionReturningGenerator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeInferenceContextAndYield mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldWithNoValueWhenValueRequired mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testDelStatementWithAssignmentList mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInFunctionReturningIterable mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldAndReturnWithoutValue mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldWithExplicitNone mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromInFunctionReturningFunction mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldInFunctionReturningObject mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromAndYieldTogether mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleYieldFromWithIterator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromNotIterableReturnType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndInvalidExit mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromAny mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromAppliedToAny mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromNotAppliedIterator mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndMissingExit mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromGenericCall mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndMultipleExprs mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndInvalidEnter mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromCheckIncompatibleTypesTwoIterables mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromNotAppliedToNothing mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndResult mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndMissingEnter mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testYieldFromTupleStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtBoolExitReturnOkay mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndMultipleResults mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtTypeComment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleWith mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtBoolExitReturnInStub mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndFuncDef mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtAndComplexTarget mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtTupleTypeComment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeBasics mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndFuncDef2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndFuncDef4 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndImportStar mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndFuncDef3 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtComplexTypeComment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndImport1 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeNestedWith1 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeNestedWith2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtBoolExitReturnWithResultFalse mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndImport2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeMultipleContextManagers mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeInnerAndOuterScopes mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeComplexAssignments mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeInnerScopeReference mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndLambda mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeMultipleAssignment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testWithStmtScopeAndClass mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testChainedAssignment mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testChainedAssignmentWithType mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testSimpleTypeAlias mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAssignListToStarExpr mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeAliasDefinedInAModule mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testChainedAssignment2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeOfNonlocalUsed mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeOfGlobalUsed mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeOfOuterMostNonlocalUsed mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testTypeAliasDefinedInAModule2 mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAugmentedAssignmentIntFloat mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAugmentedAssignmentIntFloatMember mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForwardRefsInForStatementImplicit mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testAugmentedAssignmentIntFloatDict mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForwardRefsInForStatement mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testGlobalWithoutInitialization mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testNoteUncheckedAnnotation mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForwardRefsInWithStatementImplicit mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testForwardRefsInWithStatement
mypy/test/testcheck.py::TypeCheckSuite::check-async-await.test::testAwaitUnion mypy/test/testcheck.py::TypeCheckSuite::check-statements.test::testGeneratorUnion