Skip to content

Remove datetime generic tzinfo typeshed patch - #22376

Open
cdce8p wants to merge 2 commits into
python:masterfrom
cdce8p:sync-typeshed
Open

cdce8p wants to merge 2 commits into
python:masterfrom
cdce8p:sync-typeshed

Conversation

@cdce8p

@cdce8p cdce8p commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Followup to #22372

@cdce8p
cdce8p requested a review from hauntsaninja November 5, 2026 21:20
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Diff from mypy_primer, showing the effect of this PR on open source code:

psycopg (https://github.com/psycopg/psycopg)
+ psycopg/psycopg/types/datetime.py:574: error: Incompatible types in assignment (expression has type "datetime[None]", variable has type "datetime[tzinfo]")  [assignment]

steam.py (https://github.com/Gobot1234/steam.py)
- steam/app.py:463: error: Incompatible types in assignment (expression has type "None", variable has type "datetime")  [assignment]
+ steam/app.py:463: error: Incompatible types in assignment (expression has type "None", variable has type "datetime[Any]")  [assignment]

prefect (https://github.com/PrefectHQ/prefect)
- src/prefect/_internal/schemas/validators.py:231: error: Incompatible return value type (got "datetime", expected "DateTime")  [return-value]
+ src/prefect/_internal/schemas/validators.py:231: error: Incompatible return value type (got "datetime[Any]", expected "DateTime")  [return-value]
- src/prefect/_internal/schemas/validators.py:264: error: Item "None" of "tzinfo | None" has no attribute "name"  [union-attr]
- src/prefect/server/schemas/schedules.py:539: error: Argument 1 to "_next_date" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/schemas/schedules.py:539: error: Argument 1 to "_next_date" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/schemas/schedules.py:552: error: Incompatible types in "yield" (actual type "datetime", expected type "DateTime")  [misc]
+ src/prefect/server/schemas/schedules.py:552: error: Incompatible types in "yield" (actual type "datetime[Any]", expected type "DateTime")  [misc]
- src/prefect/server/schemas/schedules.py:560: error: Argument 1 to "_next_date" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/schemas/schedules.py:560: error: Argument 1 to "_next_date" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/schemas/schedules.py:727: error: Incompatible types in "yield" (actual type "datetime", expected type "DateTime")  [misc]
+ src/prefect/server/schemas/schedules.py:727: error: Incompatible types in "yield" (actual type "datetime[Any]", expected type "DateTime")  [misc]
- src/prefect/server/schemas/schedules.py:881: error: Incompatible default for parameter "start" (default has type "None", parameter has type "datetime")  [assignment]
+ src/prefect/server/schemas/schedules.py:881: error: Incompatible default for parameter "start" (default has type "None", parameter has type "datetime[Any]")  [assignment]
- src/prefect/server/schemas/schedules.py:882: error: Incompatible default for parameter "end" (default has type "None", parameter has type "datetime")  [assignment]
+ src/prefect/server/schemas/schedules.py:882: error: Incompatible default for parameter "end" (default has type "None", parameter has type "datetime[Any]")  [assignment]
- src/prefect/server/schemas/schedules.py:952: error: Incompatible types in "yield" (actual type "datetime", expected type "DateTime")  [misc]
+ src/prefect/server/schemas/schedules.py:952: error: Incompatible types in "yield" (actual type "datetime[tzinfo]", expected type "DateTime")  [misc]
- src/prefect/client/schemas/objects.py:416: error: Incompatible types in assignment (expression has type "datetime", variable has type "DateTime | None")  [assignment]
+ src/prefect/client/schemas/objects.py:416: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "DateTime | None")  [assignment]
- src/prefect/states.py:358: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/states.py:358: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/states.py:407: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/states.py:407: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/states.py:436: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/states.py:436: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/server/schemas/states.py:182: error: Incompatible types in assignment (expression has type "datetime", variable has type "DateTime | None")  [assignment]
+ src/prefect/server/schemas/states.py:182: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "DateTime | None")  [assignment]
- src/prefect/server/schemas/states.py:329: error: Incompatible types in assignment (expression has type "datetime", variable has type "DateTime | None")  [assignment]
+ src/prefect/server/schemas/states.py:329: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "DateTime | None")  [assignment]
- src/prefect/events/related.py:212: error: Incompatible types in assignment (expression has type "tuple[dict[str, str | ObjectBaseModel | None], datetime]", target has type "tuple[dict[str, str | ObjectBaseModel | None], DateTime]")  [assignment]
+ src/prefect/events/related.py:212: error: Incompatible types in assignment (expression has type "tuple[dict[str, str | ObjectBaseModel | None], datetime[Any]]", target has type "tuple[dict[str, str | ObjectBaseModel | None], DateTime]")  [assignment]
- src/prefect/events/clients.py:849: error: Incompatible types in assignment (expression has type "datetime", variable has type "DateTime | None")  [assignment]
+ src/prefect/events/clients.py:849: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "DateTime | None")  [assignment]
- src/prefect/_internal/states.py:228: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/_internal/states.py:228: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/_internal/states.py:277: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/_internal/states.py:277: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/_internal/states.py:306: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime | None"; expected "DateTime | None"  [arg-type]
+ src/prefect/_internal/states.py:306: error: Argument "expiration" to "create_result_record" of "ResultStore" has incompatible type "datetime[Any] | None"; expected "DateTime | None"  [arg-type]
- src/prefect/server/schemas/responses.py:146: error: Incompatible types in assignment (expression has type "datetime", target has type "None")  [assignment]
+ src/prefect/server/schemas/responses.py:146: error: Incompatible types in assignment (expression has type "datetime[Any]", target has type "None")  [assignment]
- src/prefect/server/events/actions.py:861: error: Argument "scheduled_time" to "Scheduled" has incompatible type "datetime"; expected "DateTime | None"  [arg-type]
+ src/prefect/server/events/actions.py:861: error: Argument "scheduled_time" to "Scheduled" has incompatible type "datetime[tzinfo]"; expected "DateTime | None"  [arg-type]
- src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime | None]"; expected "int | float | timedelta | None"  [arg-type]
+ src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime[Any] | None]"; expected "int | float | timedelta | None"  [arg-type]
- src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime | None]"; expected "datetime | str | None"  [arg-type]
+ src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime[Any] | None]"; expected "datetime[Any] | str | None"  [arg-type]
- src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime | None]"; expected "str | None"  [arg-type]
+ src/prefect/deployments/runner.py:1005: error: Argument 1 to "construct_schedule" has incompatible type "**dict[str, str | Any | int | float | timedelta | datetime[Any] | None]"; expected "str | None"  [arg-type]
- src/prefect/server/models/variables.py:18: error: Argument 2 to "variable_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/variables.py:18: error: Argument 2 to "variable_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/variables.py:24: error: Argument 2 to "variable_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/variables.py:24: error: Argument 2 to "variable_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/variables.py:30: error: Argument 2 to "variable_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/variables.py:30: error: Argument 2 to "variable_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/flows.py:26: error: Argument 2 to "flow_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/flows.py:26: error: Argument 2 to "flow_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/flows.py:32: error: Argument 2 to "flow_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/flows.py:32: error: Argument 2 to "flow_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/flows.py:38: error: Argument 2 to "flow_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/flows.py:38: error: Argument 2 to "flow_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits_v2.py:23: error: Argument 2 to "concurrency_limit_v2_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits_v2.py:23: error: Argument 2 to "concurrency_limit_v2_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits_v2.py:33: error: Argument 2 to "concurrency_limit_v2_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits_v2.py:33: error: Argument 2 to "concurrency_limit_v2_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits_v2.py:43: error: Argument 2 to "concurrency_limit_v2_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits_v2.py:43: error: Argument 2 to "concurrency_limit_v2_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits.py:29: error: Argument 2 to "concurrency_limit_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits.py:29: error: Argument 2 to "concurrency_limit_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits.py:39: error: Argument 2 to "concurrency_limit_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits.py:39: error: Argument 2 to "concurrency_limit_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/concurrency_limits.py:49: error: Argument 2 to "concurrency_limit_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/concurrency_limits.py:49: error: Argument 2 to "concurrency_limit_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/artifacts.py:25: error: Argument 2 to "artifact_collection_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/artifacts.py:25: error: Argument 2 to "artifact_collection_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/artifacts.py:35: error: Argument 2 to "artifact_collection_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/artifacts.py:35: error: Argument 2 to "artifact_collection_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/artifacts.py:45: error: Argument 2 to "artifact_collection_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/artifacts.py:45: error: Argument 2 to "artifact_collection_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/events/counting.py:103: error: Unsupported operand types for + ("datetime" and "int")  [operator]
+ src/prefect/server/events/counting.py:103: error: Unsupported operand types for + ("datetime[tzinfo]" and "int")  [operator]
- src/prefect/server/models/block_types.py:30: error: Argument 2 to "block_type_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_types.py:30: error: Argument 2 to "block_type_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/block_types.py:38: error: Argument 2 to "block_type_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_types.py:38: error: Argument 2 to "block_type_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/block_types.py:46: error: Argument 2 to "block_type_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_types.py:46: error: Argument 2 to "block_type_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/block_documents.py:36: error: Argument 2 to "block_document_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_documents.py:36: error: Argument 2 to "block_document_created_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/block_documents.py:46: error: Argument 2 to "block_document_updated_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_documents.py:46: error: Argument 2 to "block_document_updated_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/block_documents.py:56: error: Argument 2 to "block_document_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/block_documents.py:56: error: Argument 2 to "block_document_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/workers.py:455: error: Argument "occurred" to "work_queue_deleted_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]
+ src/prefect/server/models/workers.py:455: error: Argument "occurred" to "work_queue_deleted_event" has incompatible type "datetime[Any]"; expected "DateTime"  [arg-type]
- src/prefect/server/models/workers.py:575: error: Argument "occurred" to "work_queue_created_event" has incompatible type "datetime"; expected "DateTime"  [arg-type]

... (truncated 127 lines) ...

openlibrary (https://github.com/internetarchive/openlibrary)
+ openlibrary/tests/core/test_unmarshal.py:32: error: Unused "type: ignore" comment  [unused-ignore]
+ openlibrary/tests/core/test_unmarshal.py: note: In function "parse_datetime":
+ openlibrary/tests/core/test_unmarshal.py:32: error: No overload variant of "datetime" matches argument type "Generator[int, None, None]"  [call-overload]
+ openlibrary/tests/core/test_unmarshal.py:32: note: Error code "call-overload" not covered by "type: ignore[arg-type]" comment
+ openlibrary/tests/core/test_unmarshal.py:32: note: Possible overload variants:
+ openlibrary/tests/core/test_unmarshal.py:32: note:     def [_TzInfoT: tzinfo | None] datetime(year: SupportsIndex, month: SupportsIndex, day: SupportsIndex, hour: SupportsIndex = ..., minute: SupportsIndex = ..., second: SupportsIndex = ..., microsecond: SupportsIndex = ..., tzinfo: None = ..., *, fold: int = ...) -> datetime[None]
+ openlibrary/tests/core/test_unmarshal.py:32: note:     def [_TzInfoT: tzinfo | None] datetime(year: SupportsIndex, month: SupportsIndex, day: SupportsIndex, hour: SupportsIndex = ..., minute: SupportsIndex = ..., second: SupportsIndex = ..., microsecond: SupportsIndex = ..., *, tzinfo: tzinfo, fold: int = ...) -> datetime[tzinfo]
+ openlibrary/tests/core/test_unmarshal.py:32: note:     def [_TzInfoT: tzinfo | None] datetime(year: SupportsIndex, month: SupportsIndex, day: SupportsIndex, hour: SupportsIndex, minute: SupportsIndex, second: SupportsIndex, microsecond: SupportsIndex, tzinfo: tzinfo, *, fold: int = ...) -> datetime[tzinfo]
- openlibrary/tests/core/test_layout.py:32: error: Argument 1 to "ShellUser" has incompatible type "**dict[str, int | bool | str | Any | None]"; expected "datetime | None"  [arg-type]
+ openlibrary/tests/core/test_layout.py:32: error: Argument 1 to "ShellUser" has incompatible type "**dict[str, int | bool | str | Any | None]"; expected "datetime[Any] | None"  [arg-type]

aiohttp (https://github.com/aio-libs/aiohttp)
+ aiohttp/web_request.py:542:5: error: Type of decorated function contains type "Any" ("under_cached_property[datetime[Any] | None]")  [misc]
+ aiohttp/web_request.py:550:5: error: Type of decorated function contains type "Any" ("under_cached_property[datetime[Any] | None]")  [misc]
+ aiohttp/web_request.py:604:5: error: Type of decorated function contains type "Any" ("under_cached_property[datetime[Any] | ETag | None]")  [misc]

zulip (https://github.com/zulip/zulip)
+ zerver/tests/test_timestamp.py:80: error: Incompatible types in assignment (expression has type "datetime[None]", variable has type "datetime[tzinfo]")  [assignment]

core (https://github.com/home-assistant/core)
+ homeassistant/components/braviatv/coordinator.py:254: error: Statement is unreachable  [unreachable]
+ homeassistant/components/tibber/coordinator.py:340: error: Incompatible types in assignment (expression has type "datetime[tzinfo]", variable has type "datetime[None]")  [assignment]
- homeassistant/components/xbox/coordinator.py:318: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/xbox/coordinator.py:318: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/xbox/coordinator.py:320: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/xbox/coordinator.py:320: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
+ homeassistant/components/recorder/models/state.py:73: error: Unused "type: ignore" comment  [unused-ignore]
+ homeassistant/components/recorder/models/state.py:81: error: Unused "type: ignore" comment  [unused-ignore]
+ homeassistant/components/ubus/coordinator.py:100: error: Incompatible types in assignment (expression has type "datetime[None]", variable has type "datetime[tzinfo]")  [assignment]
+ homeassistant/components/data_grand_lyon/sensor.py:44: error: Returning Any from function declared to return "datetime[Any]"  [no-any-return]
+ homeassistant/components/data_grand_lyon/sensor.py:45: error: Returning Any from function declared to return "datetime[Any]"  [no-any-return]
+ homeassistant/components/icloud/account.py:980: error: Need type annotation for "age"  [var-annotated]
- homeassistant/components/jewish_calendar/sensor.py:305: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
- homeassistant/components/alexa_devices/media_player.py:209: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
- homeassistant/components/data_grand_lyon/sensor.py:44: error: Returning Any from function declared to return "datetime"  [no-any-return]
- homeassistant/components/data_grand_lyon/sensor.py:45: error: Returning Any from function declared to return "datetime"  [no-any-return]
- homeassistant/components/russound_rio/media_player.py:197: error: Returning Any from function declared to return "datetime"  [no-any-return]
+ homeassistant/components/easyenergy/services.py:161: error: Returning Any from function declared to return "list[dict[str, float | datetime[Any]]]"  [no-any-return]
+ homeassistant/components/alexa_devices/media_player.py:209: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/easyenergy/services.py:161: error: Returning Any from function declared to return "list[dict[str, float | datetime]]"  [no-any-return]
+ homeassistant/components/jewish_calendar/sensor.py:305: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
+ homeassistant/components/russound_rio/media_player.py:197: error: Returning Any from function declared to return "datetime[Any]"  [no-any-return]
+ homeassistant/components/statistics/sensor.py:1078: error: Incompatible types in assignment (expression has type "datetime[tzinfo]", variable has type "datetime[None]")  [assignment]
- homeassistant/components/unifiprotect/sensor.py:100: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/unifiprotect/sensor.py:100: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/unifiprotect/sensor.py:610: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/unifiprotect/sensor.py:610: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
+ homeassistant/components/cambridge_audio/media_player.py:188: error: Returning Any from function declared to return "datetime[Any]"  [no-any-return]
- homeassistant/components/hortimax/sensor.py:276: error: Returning Any from function declared to return "float | str | datetime | None"  [no-any-return]
+ homeassistant/components/hortimax/sensor.py:276: error: Returning Any from function declared to return "float | str | datetime[Any] | None"  [no-any-return]
+ homeassistant/components/onvif/device.py:293: error: Need type annotation for "dt_diff"  [var-annotated]
- homeassistant/components/cambridge_audio/media_player.py:188: error: Returning Any from function declared to return "datetime"  [no-any-return]
+ homeassistant/components/discovergy/sensor.py:37: error: Returning Any from function declared to return "datetime[Any] | float | None"  [no-any-return]
- homeassistant/components/discovergy/sensor.py:37: error: Returning Any from function declared to return "datetime | float | None"  [no-any-return]
- homeassistant/components/my_pv/sensor.py:258: error: Returning Any from function declared to return "str | int | float | None | date | datetime | Decimal"  [no-any-return]
+ homeassistant/components/my_pv/sensor.py:258: error: Returning Any from function declared to return "str | int | float | None | date | datetime[Any] | Decimal"  [no-any-return]
- homeassistant/components/ecowitt/sensor.py:368: error: Returning Any from function declared to return "str | int | float | None | datetime"  [no-any-return]
+ homeassistant/components/ecowitt/sensor.py:368: error: Returning Any from function declared to return "str | int | float | None | datetime[Any]"  [no-any-return]
+ homeassistant/components/roku/media_player.py:235: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/roku/media_player.py:235: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
- homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, datetime, /) -> timedelta
+ homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, datetime[tzinfo] | datetime[tzinfo | None], /) -> timedelta
+ homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, datetime[None] | datetime[tzinfo | None], /) -> timedelta
- homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, timedelta, /) -> datetime
+ homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, datetime[Any], /) -> Never
+ homeassistant/components/local_calendar/calendar.py:283: note:     def __sub__(self, timedelta, /) -> datetime[Any]
- homeassistant/components/vallox/sensor.py:69: error: Returning Any from function declared to return "str | int | float | None | datetime"  [no-any-return]
+ homeassistant/components/vallox/sensor.py:69: error: Returning Any from function declared to return "str | int | float | None | datetime[Any]"  [no-any-return]
- homeassistant/components/wattwaechter/sensor.py:697: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/wattwaechter/sensor.py:697: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/habitica/calendar.py:100: error: Returning Any from function declared to return "list[datetime]"  [no-any-return]
+ homeassistant/components/habitica/calendar.py:100: error: Returning Any from function declared to return "list[datetime[Any]]"  [no-any-return]
+ homeassistant/components/esphome/sensor.py:119: error: Returning Any from function declared to return "datetime[Any] | int | float | None"  [no-any-return]
+ homeassistant/components/esphome/sensor.py:150: error: Returning Any from function declared to return "str | datetime[Any] | date | None"  [no-any-return]
- homeassistant/components/esphome/sensor.py:119: error: Returning Any from function declared to return "datetime | int | float | None"  [no-any-return]
- homeassistant/components/esphome/sensor.py:150: error: Returning Any from function declared to return "str | datetime | date | None"  [no-any-return]
- homeassistant/components/nest/camera.py:236: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/nest/camera.py:236: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/nest/camera.py:283: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/nest/camera.py:283: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/yoto/media_player.py:128: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/yoto/media_player.py:128: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/nest/sensor.py:143: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
- homeassistant/components/knx/datetime.py:97: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/knx/datetime.py:97: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
+ homeassistant/components/nest/sensor.py:143: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/dlna_dmr/media_player.py:986: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/dlna_dmr/media_player.py:986: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]
- homeassistant/components/lyngdorf/media_player.py:414: error: Returning Any from function declared to return "datetime | None"  [no-any-return]
+ homeassistant/components/lyngdorf/media_player.py:414: error: Returning Any from function declared to return "datetime[Any] | None"  [no-any-return]

discord.py (https://github.com/Rapptz/discord.py)
- discord/embeds.py:362: error: Incompatible types in assignment (expression has type "None", variable has type "datetime")  [assignment]
+ discord/embeds.py:362: error: Incompatible types in assignment (expression has type "None", variable has type "datetime[tzinfo] | datetime[Any]")  [assignment]
- discord/member.py:154: note:     def parse_time(timestamp: str) -> datetime
+ discord/member.py:154: note:     def parse_time(timestamp: str) -> datetime[Any]
- discord/member.py:154: note:     def parse_time(timestamp: str | None) -> datetime | None
+ discord/member.py:154: note:     def parse_time(timestamp: str | None) -> datetime[Any] | None
- discord/guild.py:4712: note:     def parse_time(timestamp: str) -> datetime
+ discord/guild.py:4712: note:     def parse_time(timestamp: str) -> datetime[Any]
- discord/guild.py:4712: note:     def parse_time(timestamp: str | None) -> datetime | None
+ discord/guild.py:4712: note:     def parse_time(timestamp: str | None) -> datetime[Any] | None
- discord/guild.py:4723: note:     def parse_time(timestamp: str) -> datetime
+ discord/guild.py:4723: note:     def parse_time(timestamp: str) -> datetime[Any]
- discord/guild.py:4723: note:     def parse_time(timestamp: str | None) -> datetime | None
+ discord/guild.py:4723: note:     def parse_time(timestamp: str | None) -> datetime[Any] | None
- discord/ext/tasks/__init__.py:213: error: Incompatible types in assignment (expression has type "datetime", variable has type "None")  [assignment]
+ discord/ext/tasks/__init__.py:213: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "None")  [assignment]
- discord/ext/tasks/__init__.py:215: error: Incompatible types in assignment (expression has type "datetime", variable has type "None")  [assignment]
+ discord/ext/tasks/__init__.py:215: error: Incompatible types in assignment (expression has type "datetime[tzinfo]", variable has type "None")  [assignment]
- discord/ext/tasks/__init__.py:223: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime"  [arg-type]
+ discord/ext/tasks/__init__.py:223: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime[Any]"  [arg-type]
- discord/ext/tasks/__init__.py:225: error: Incompatible types in assignment (expression has type "None", variable has type "datetime")  [assignment]
+ discord/ext/tasks/__init__.py:225: error: Incompatible types in assignment (expression has type "None", variable has type "datetime[Any]")  [assignment]
- discord/ext/tasks/__init__.py:226: error: Incompatible types in assignment (expression has type "datetime", variable has type "None")  [assignment]
+ discord/ext/tasks/__init__.py:226: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "None")  [assignment]
- discord/ext/tasks/__init__.py:232: error: Unsupported operand types for >= ("datetime" and "None")  [operator]
+ discord/ext/tasks/__init__.py:232: error: No overload variant of "__ge__" of "datetime" matches argument type "None"  [operator]
+ discord/ext/tasks/__init__.py:232: note: Possible overload variants:
+ discord/ext/tasks/__init__.py:232: note:     def __ge__(self, datetime[tzinfo] | datetime[tzinfo | None], /) -> bool
+ discord/ext/tasks/__init__.py:232: note:     def __ge__(self, datetime[None] | datetime[tzinfo | None], /) -> bool
+ discord/ext/tasks/__init__.py:232: note:     def __ge__(self, datetime[Any], /) -> Never
- discord/ext/tasks/__init__.py:243: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime"  [arg-type]
+ discord/ext/tasks/__init__.py:243: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime[Any]"  [arg-type]
- discord/ext/tasks/__init__.py:244: error: Incompatible types in assignment (expression has type "datetime", variable has type "None")  [assignment]
+ discord/ext/tasks/__init__.py:244: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "None")  [assignment]
- discord/ext/tasks/__init__.py:267: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime"  [arg-type]
+ discord/ext/tasks/__init__.py:267: error: Argument 1 to "_try_sleep_until" of "Loop" has incompatible type "None"; expected "datetime[Any]"  [arg-type]
- discord/ext/tasks/__init__.py:791: error: Incompatible types in assignment (expression has type "datetime", variable has type "None")  [assignment]
+ discord/ext/tasks/__init__.py:791: error: Incompatible types in assignment (expression has type "datetime[Any]", variable has type "None")  [assignment]
- discord/ext/tasks/__init__.py:794: error: Argument 1 to "recalculate" of "SleepHandle" has incompatible type "None"; expected "datetime"  [arg-type]
+ discord/ext/tasks/__init__.py:794: error: Argument 1 to "recalculate" of "SleepHandle" has incompatible type "None"; expected "datetime[Any]"  [arg-type]

Tanjun (https://github.com/FasterSpeeding/Tanjun)
+ tanjun/schedules.py:1094: error: Need type annotation for "result"  [var-annotated]
+ tanjun/schedules.py:1096: error: Statement is unreachable  [unreachable]

pandera (https://github.com/pandera-dev/pandera)
- pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[Just[float] | str | datetime | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[Any]] | DatetimeArray, dtype: DatetimeTZDtype | Literal['datetime64[s, UTC]', 'datetime64[ms, UTC]', 'datetime64[us, UTC]', 'datetime64[ns, UTC]'] | dtype[datetime64[Any]] | Literal['datetime64[s]', 'datetime64[ms]', 'datetime64[us]', 'datetime64[ns]', 'M8[s]', 'M8[ms]', 'M8[us]', 'M8[ns]', '<M8[s]', '<M8[ms]', '<M8[us]', '<M8[ns]'] | dtype[datetime64[Any]], copy: bool = ...) -> DatetimeArray
+ pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[Just[float] | str | datetime[Any] | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[Any]] | DatetimeArray, dtype: DatetimeTZDtype | Literal['datetime64[s, UTC]', 'datetime64[ms, UTC]', 'datetime64[us, UTC]', 'datetime64[ns, UTC]'] | dtype[datetime64[Any]] | Literal['datetime64[s]', 'datetime64[ms]', 'datetime64[us]', 'datetime64[ns]', 'M8[s]', 'M8[ms]', 'M8[us]', 'M8[ns]', '<M8[s]', '<M8[ms]', '<M8[us]', '<M8[ns]'] | dtype[datetime64[Any]], copy: bool = ...) -> DatetimeArray
- pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[datetime | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[datetime64[Any]]] | DatetimeArray, dtype: None = ..., copy: bool = ...) -> DatetimeArray
+ pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[datetime[Any] | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[datetime64[Any]]] | DatetimeArray, dtype: None = ..., copy: bool = ...) -> DatetimeArray
- pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[datetime | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[datetime64[Any]]] | DatetimeArray | DatetimeIndex | Series[Timestamp], dtype: Literal['datetime64[s, UTC]', 'datetime64[ms, UTC]', 'datetime64[us, UTC]', 'datetime64[ns, UTC]'] | Literal['datetime64[s]', 'datetime64[ms]', 'datetime64[us]', 'datetime64[ns]', 'M8[s]', 'M8[ms]', 'M8[us]', 'M8[ns]', '<M8[s]', '<M8[ms]', '<M8[us]', '<M8[ns]'] | dtype[datetime64[Any]] | None = ..., copy: bool = ...) -> DatetimeArray
+ pandera/engines/pandas_engine.py:171: note:     def array(data: Sequence[datetime[Any] | datetime64[Any] | NaTType | None] | ndarray[tuple[Any, ...], dtype[datetime64[Any]]] | DatetimeArray | DatetimeIndex | Series[Timestamp], dtype: Literal['datetime64[s, UTC]', 'datetime64[ms, UTC]', 'datetime64[us, UTC]', 'datetime64[ns, UTC]'] | Literal['datetime64[s]', 'datetime64[ms]', 'datetime64[us]', 'datetime64[ns]', 'M8[s]', 'M8[ms]', 'M8[us]', 'M8[ns]', '<M8[s]', '<M8[ms]', '<M8[us]', '<M8[ns]'] | dtype[datetime64[Any]] | None = ..., copy: bool = ...) -> DatetimeArray
- pandera/strategies/pandas_strategies.py:74: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
+ pandera/strategies/pandas_strategies.py:74: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime[Any] | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
- pandera/strategies/pandas_strategies.py:74: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]
+ pandera/strategies/pandas_strategies.py:74: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime[Any] | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]
- pandera/strategies/pandas_strategies.py:76: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
+ pandera/strategies/pandas_strategies.py:76: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime[Any] | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
- pandera/strategies/pandas_strategies.py:76: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]
+ pandera/strategies/pandas_strategies.py:76: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime[Any] | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]
- pandera/strategies/pandas_strategies.py:77: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
+ pandera/strategies/pandas_strategies.py:77: note:     def mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: str | bytes | date | datetime[Any] | timedelta | <14 more items> | None = ..., *, inplace: Literal[True], axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> None
- pandera/strategies/pandas_strategies.py:77: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]
+ pandera/strategies/pandas_strategies.py:77: note:     def [S2: str | bytes | bool | int | float | complex | <6 more items> | type[str] | list[str] | date | time | datetime[Any] | timedelta] mask(self, cond: Series[Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Callable[[Series[Any]], Series[builtins.bool]] | Callable[[Any], builtins.bool], other: S2 | Series[S2] | Callable[..., S2], *, inplace: Literal[False] = ..., axis: Literal['index', 0] | None = ..., level: Hashable | None = ...) -> Series[S2]

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
+ pandas-stubs/_libs/tslibs/timestamps.pyi:276: error: Signatures of "__rsub__" of "Timestamp" and "__sub__" of "datetime[Any] | datetime64[Any]" are unsafely overlapping  [misc]
- tests/frame/test_indexing.py:907: error: Invalid index type "tuple[slice[None, None, None], set[str]]" for "_LocIndexerFrame[DataFrame]"; expected type "tuple[tuple[IndexOpsMixin[Any, Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | list[builtins.bool] | str | bytes | date | datetime | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any] | Sequence[str | bytes | date | datetime | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any]] | slice[Any, Any, Any], ...], Hashable]"  [index]
+ tests/frame/test_indexing.py:907: error: Invalid index type "tuple[slice[None, None, None], set[str]]" for "_LocIndexerFrame[DataFrame]"; expected type "tuple[tuple[IndexOpsMixin[Any, Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | list[builtins.bool] | str | bytes | date | datetime[Any] | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any] | Sequence[str | bytes | date | datetime[Any] | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any]] | slice[Any, Any, Any], ...], Hashable]"  [index]
- tests/frame/test_indexing.py:908: error: Invalid index type "tuple[slice[None, None, None], dict[str, int]]" for "_LocIndexerFrame[DataFrame]"; expected type "tuple[tuple[IndexOpsMixin[Any, Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | list[builtins.bool] | str | bytes | date | datetime | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any] | Sequence[str | bytes | date | datetime | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any]] | slice[Any, Any, Any], ...], Hashable]"  [index]
+ tests/frame/test_indexing.py:908: error: Invalid index type "tuple[slice[None, None, None], dict[str, int]]" for "_LocIndexerFrame[DataFrame]"; expected type "tuple[tuple[IndexOpsMixin[Any, Any] | Series[builtins.bool] | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | list[builtins.bool] | str | bytes | date | datetime[Any] | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any] | Sequence[str | bytes | date | datetime[Any] | timedelta | <7 more items> | complex | integer[Any] | floating[Any] | complexfloating[Any, Any]] | slice[Any, Any, Any], ...], Hashable]"  [index]
+ tests/test_timefuncs.py:907: error: Expression is of type "datetime[None]", not "datetime[Any]"  [assert-type]
+ tests/scalars/test_scalars.py:555: error: Expression is of type "datetime[None]", not "datetime[Any]"  [assert-type]
+ tests/scalars/test_scalars.py:596: error: Expression is of type "datetime[None]", not "datetime[Any]"  [assert-type]
+ tests/scalars/test_scalars.py:1062: error: Expression is of type "Any", not "tzinfo | None"  [assert-type]
+ tests/arrays/test_datetime_array.py:94: error: Expression is of type "Any", not "DatetimeArray"  [assert-type]
+ tests/arrays/test_datetime_array.py:321: error: Expression is of type "Any", not "DatetimeArray"  [assert-type]
+ tests/arrays/test_datetime_array.py:326: error: Expression is of type "Any", not "DatetimeArray"  [assert-type]
+ tests/arrays/test_datetime_array.py:327: error: Expression is of type "Any", not "DatetimeArray"  [assert-type]

cloud-init (https://github.com/canonical/cloud-init)
+ cloudinit/distros/alpine.py:347: error: Need type annotation for "days"  [var-annotated]

bokeh (https://github.com/bokeh/bokeh)
- src/bokeh/util/serialization.py:177:1: error: Argument 1 to "convert_datetime_type" becomes "Any | Any | Any | datetime | date | time | datetime64[Any]" due to an unfollowed import  [no-any-unimported]
+ src/bokeh/util/serialization.py:177:1: error: Argument 1 to "convert_datetime_type" becomes "Any | Any | Any | datetime[Any] | date | time | datetime64[Any]" due to an unfollowed import  [no-any-unimported]

tornado (https://github.com/tornadoweb/tornado)
+ tornado/test/locale_test.py:103: error: Unsupported operand types for - ("object" and "timedelta")  [operator]
+ tornado/test/locale_test.py:103: error: Argument 1 to "format_date" of "Locale" has incompatible type "timedelta"; expected "int | float | datetime[Any]"  [arg-type]
+ tornado/test/locale_test.py:109: error: Unsupported operand types for - ("object" and "timedelta")  [operator]
+ tornado/test/locale_test.py:109: error: Argument 1 to "format_date" of "Locale" has incompatible type "timedelta"; expected "int | float | datetime[Any]"  [arg-type]
+ tornado/test/locale_test.py:115: error: Unsupported operand types for - ("object" and "timedelta")  [operator]
+ tornado/test/locale_test.py:115: error: Argument 1 to "format_date" of "Locale" has incompatible type "timedelta"; expected "int | float | datetime[Any]"  [arg-type]
+ tornado/test/locale_test.py:122: error: Unsupported operand types for - ("object" and "timedelta")  [operator]
+ tornado/test/locale_test.py:122: error: Argument 1 to "format_date" of "Locale" has incompatible type "timedelta"; expected "int | float | datetime[Any]"  [arg-type]
+ tornado/test/locale_test.py:129: error: Unsupported operand types for - ("object" and "timedelta")  [operator]
+ tornado/test/locale_test.py:129: error: Incompatible types in assignment (expression has type "timedelta", variable has type "datetime[None]")  [assignment]
+ tornado/test/locale_test.py:135: error: Unsupported operand types for - ("object" and "timedelta")  [operator]

... (truncated 187 lines) ...```

@hauntsaninja

Copy link
Copy Markdown
Collaborator

Looked through a little of primer, some of the "need type annotation" ones seem bad:

import datetime as dt
a = dt.datetime.fromisoformat("2026-01-02")
b = dt.datetime.fromisoformat("2026-01-01")
reveal_type(a - b)  # Never

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants