From afd043b03e466c517427b92f0e9828c19fe06d3e Mon Sep 17 00:00:00 2001 From: Codebuff Contributor Date: Fri, 15 May 2026 07:19:44 +0600 Subject: [PATCH] Fix ForwardRef._evaluate() missing type_params for Python 3.14+ Python 3.14 added a new 'type_params' parameter to ForwardRef._evaluate() (PEP 695). Failing to pass it triggers a DeprecationWarning, which is treated as error by FastAPI's test suite (-W error). Pass type_params=() on Python 3.14+ to silence the warning. --- fastapi/dependencies/utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index b05066f312..13cb64ee4a 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -278,7 +278,12 @@ def _resolve_forward_ref_lenient( return Any localns = _LenientNamespace(globalns) - result = fwd_ref._evaluate(globalns, localns, recursive_guard=set()) + if sys.version_info >= (3, 14): + result = fwd_ref._evaluate( + globalns, localns, recursive_guard=set(), type_params=() + ) + else: + result = fwd_ref._evaluate(globalns, localns, recursive_guard=set()) return result