From e03019ef4c080e8a0009d179fe9a2cd6917a39af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 17 Feb 2026 10:50:46 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Tweak=20types?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs_src/extra_models/tutorial003_py310.py | 4 +--- tests/test_additional_responses_union_duplicate_anyof.py | 4 +--- tests/test_compat.py | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/docs_src/extra_models/tutorial003_py310.py b/docs_src/extra_models/tutorial003_py310.py index 06675cbc09..8fe6f7136e 100644 --- a/docs_src/extra_models/tutorial003_py310.py +++ b/docs_src/extra_models/tutorial003_py310.py @@ -1,5 +1,3 @@ -from typing import Union - from fastapi import FastAPI from pydantic import BaseModel @@ -30,6 +28,6 @@ items = { } -@app.get("/items/{item_id}", response_model=Union[PlaneItem, CarItem]) +@app.get("/items/{item_id}", response_model=PlaneItem | CarItem) async def read_item(item_id: str): return items[item_id] diff --git a/tests/test_additional_responses_union_duplicate_anyof.py b/tests/test_additional_responses_union_duplicate_anyof.py index 5d833fce4a..401bc0a744 100644 --- a/tests/test_additional_responses_union_duplicate_anyof.py +++ b/tests/test_additional_responses_union_duplicate_anyof.py @@ -4,8 +4,6 @@ don't accumulate duplicate $ref entries in anyOf arrays. See https://github.com/fastapi/fastapi/pull/14463 """ -from typing import Union - from fastapi import FastAPI from fastapi.testclient import TestClient from inline_snapshot import snapshot @@ -23,7 +21,7 @@ class ModelB(BaseModel): app = FastAPI( responses={ 500: { - "model": Union[ModelA, ModelB], + "model": ModelA | ModelB, "content": {"application/json": {"examples": {"Case A": {"value": "a"}}}}, } } diff --git a/tests/test_compat.py b/tests/test_compat.py index 27ecf012f3..772bd305eb 100644 --- a/tests/test_compat.py +++ b/tests/test_compat.py @@ -125,7 +125,7 @@ def test_serialize_sequence_value_with_none_first_in_union(): from fastapi._compat import v2 # Use Union[None, list[str]] to ensure None comes first in the union args - field_info = FieldInfo(annotation=Union[None, list[str]]) + field_info = FieldInfo(annotation=Union[None, list[str]]) # noqa: UP007 field = v2.ModelField(name="items", field_info=field_info) result = v2.serialize_sequence_value(field=field, value=["x", "y"]) assert result == ["x", "y"]