diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index 72b0b14f0b..40e6957b8b 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -254,19 +254,6 @@ def get_typed_annotation(annotation: Any, globalns: dict[str, Any]) -> Any: return annotation -def _resolve_forward_ref_lenient( - fwd_ref: ForwardRef, - globalns: dict[str, Any], -) -> Any: - class _LenientNamespace(dict): - def __missing__(self, key: str) -> Any: - return Any - - localns = _LenientNamespace(globalns) - result = fwd_ref._evaluate(globalns, localns, set()) - return result - - def _resolve_forward_ref_lenient( fwd_ref: ForwardRef, globalns: dict[str, Any], @@ -277,11 +264,11 @@ def _resolve_forward_ref_lenient( localns = _LenientNamespace(globalns) if sys.version_info >= (3, 13): - result = fwd_ref._evaluate( - globalns, localns, recursive_guard=set(), type_params=() + result = fwd_ref.evaluate( + globalns, localns, recursive_guard=frozenset(), type_params=() ) else: - result = fwd_ref._evaluate(globalns, localns, recursive_guard=set()) + result = fwd_ref.evaluate(globalns, localns, recursive_guard=frozenset()) return result diff --git a/tests/test_annotated_forward_ref.py b/tests/test_annotated_forward_ref.py index 8b9a483eaa..ceb7636aa7 100644 --- a/tests/test_annotated_forward_ref.py +++ b/tests/test_annotated_forward_ref.py @@ -20,7 +20,7 @@ async def read_root(potato: Annotated[Potato, Depends(get_potato)]): return {"color": potato.color, "size": potato.size} -from dataclasses import dataclass +from dataclasses import dataclass # noqa: E402 @dataclass