Browse Source

Enable `--warn-redundant-casts` option in mypy (#14671)

* Enable `--warn-redundant-casts` option in mypy

Doesn't do much but helps me sleep better at night.

* Changelog

* Fix name of the ignore

* Fix one more missed cast

Not sure why I didn't see this one locally, maybe I needed a poetry update

* Remove old comment

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
tags/v1.74.0rc1
David Robertson 1 year ago
committed by GitHub
parent
commit
3d87847ecc
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 7 additions and 6 deletions
  1. +1
    -0
      changelog.d/14671.misc
  2. +1
    -0
      mypy.ini
  3. +2
    -4
      scripts-dev/release.py
  4. +2
    -1
      synapse/storage/database.py
  5. +1
    -1
      synapse/storage/engines/postgres.py

+ 1
- 0
changelog.d/14671.misc View File

@@ -0,0 +1 @@
Improve type hints.

+ 1
- 0
mypy.ini View File

@@ -12,6 +12,7 @@ local_partial_types = True
no_implicit_optional = True
disallow_untyped_defs = True
strict_equality = True
warn_redundant_casts = True

files =
docker/,


+ 2
- 4
scripts-dev/release.py View File

@@ -27,7 +27,7 @@ import time
import urllib.request
from os import path
from tempfile import TemporaryDirectory
from typing import Any, List, Optional, cast
from typing import Any, List, Optional

import attr
import click
@@ -174,9 +174,7 @@ def _prepare() -> None:
click.get_current_context().abort()

# Switch to the release branch.
# Cast safety: parse() won't return a version.LegacyVersion from our
# version string format.
parsed_new_version = cast(version.Version, version.parse(new_version))
parsed_new_version = version.parse(new_version)

# We assume for debian changelogs that we only do RCs or full releases.
assert not parsed_new_version.is_devrelease


+ 2
- 1
synapse/storage/database.py View File

@@ -667,7 +667,8 @@ class DatabasePool:
)
# also check variables referenced in func's closure
if inspect.isfunction(func):
f = cast(types.FunctionType, func)
# Keep the cast for now---it helps PyCharm to understand what `func` is.
f = cast(types.FunctionType, func) # type: ignore[redundant-cast]
if f.__closure__:
for i, cell in enumerate(f.__closure__):
if inspect.isgenerator(cell.cell_contents):


+ 1
- 1
synapse/storage/engines/postgres.py View File

@@ -77,7 +77,7 @@ class PostgresEngine(
# docs: The number is formed by converting the major, minor, and
# revision numbers into two-decimal-digit numbers and appending them
# together. For example, version 8.1.5 will be returned as 80105
self._version = cast(int, db_conn.server_version)
self._version = db_conn.server_version
allow_unsafe_locale = self.config.get("allow_unsafe_locale", False)

# Are we on a supported PostgreSQL version?


Loading…
Cancel
Save