From 7d3e2124f70b357a3c4d56ce1a21a461dc38ecb3 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Wed, 7 Oct 2026 19:11:30 +0300 Subject: [PATCH] fix: annotate context managers with AsyncGenerator for ty 0.0.85 --- modern_di_fastapi/main.py | 3 ++- tests/test_lifespan.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modern_di_fastapi/main.py b/modern_di_fastapi/main.py index d2d51ac..04d467e 100644 --- a/modern_di_fastapi/main.py +++ b/modern_di_fastapi/main.py @@ -1,3 +1,4 @@ +import collections.abc import contextlib import dataclasses import typing @@ -42,7 +43,7 @@ def _compose_lifespan(original: Lifespan[fastapi.FastAPI]) -> Lifespan[fastapi.F """ @contextlib.asynccontextmanager - async def composed(app_: fastapi.FastAPI) -> typing.AsyncIterator[typing.Mapping[str, typing.Any] | None]: + async def composed(app_: fastapi.FastAPI) -> collections.abc.AsyncGenerator[typing.Mapping[str, typing.Any] | None]: async with original(app_) as state, fetch_di_container(app_): yield state diff --git a/tests/test_lifespan.py b/tests/test_lifespan.py index d24f1a8..e9102da 100644 --- a/tests/test_lifespan.py +++ b/tests/test_lifespan.py @@ -1,3 +1,4 @@ +import collections.abc import contextlib import typing @@ -32,7 +33,7 @@ def test_setup_di_composes_with_existing_lifespan() -> None: events: list[str] = [] @contextlib.asynccontextmanager - async def user_lifespan(app_: fastapi.FastAPI) -> typing.AsyncIterator[dict[str, str]]: + async def user_lifespan(app_: fastapi.FastAPI) -> collections.abc.AsyncGenerator[dict[str, str]]: assert isinstance(app_, fastapi.FastAPI) events.append("startup") yield {"marker": "from-user-lifespan"}