Browse Source

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.
pull/15519/head
Codebuff Contributor 3 weeks ago
parent
commit
afd043b03e
  1. 7
      fastapi/dependencies/utils.py

7
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

Loading…
Cancel
Save