Add @final to several stdlib classes that cannot be subclassed at runtime (#7213)

This commit is contained in:
Alex Waygood
2022-02-14 22:46:30 +00:00
committed by GitHub
parent 4293ad0483
commit 2878050ffc
6 changed files with 13 additions and 3 deletions

View File

@@ -1,5 +1,7 @@
from typing import Any, Callable
from typing_extensions import final
@final
class make_encoder:
sort_keys: Any
skipkeys: Any
@@ -23,6 +25,7 @@ class make_encoder:
) -> None: ...
def __call__(self, obj: object, _current_indent_level: int) -> Any: ...
@final
class make_scanner:
object_hook: Any
object_pairs_hook: Any

View File

@@ -101,6 +101,7 @@ WRITABLE: Literal[4]
TCL_VERSION: str
TK_VERSION: str
@final
class TkttType:
def deletetimerhandler(self): ...

View File

@@ -1,6 +1,7 @@
import sys
from _typeshed import ReadableBuffer, Self
from typing import AbstractSet
from typing_extensions import final
class _Hash:
@property
@@ -76,7 +77,7 @@ def scrypt(
maxmem: int = ...,
dklen: int = ...,
) -> bytes: ...
@final
class _BlakeHash(_Hash):
MAX_DIGEST_SIZE: int
MAX_KEY_SIZE: int

View File

@@ -2,6 +2,7 @@ import sys
from _typeshed import Self, StrOrBytesPath
from datetime import date, datetime, time
from typing import Any, Callable, Generator, Iterable, Iterator, Protocol, TypeVar
from typing_extensions import final
_T = TypeVar("_T")
@@ -223,6 +224,7 @@ class OperationalError(DatabaseError): ...
OptimizedUnicode = str
@final
class PrepareProtocol:
def __init__(self, *args: Any, **kwargs: Any) -> None: ...

View File

@@ -3,7 +3,7 @@ import socket
import sys
from _typeshed import ReadableBuffer, Self, StrOrBytesPath, WriteableBuffer
from typing import Any, Callable, ClassVar, Iterable, NamedTuple, Optional, Union, overload
from typing_extensions import Literal, TypedDict
from typing_extensions import Literal, TypedDict, final
_PCTRTT = tuple[tuple[str, str], ...]
_PCTRTTT = tuple[_PCTRTT, ...]
@@ -471,6 +471,7 @@ class SSLObject:
if sys.version_info >= (3, 8):
def verify_client_post_handshake(self) -> None: ...
@final
class MemoryBIO:
pending: int
eof: bool
@@ -478,6 +479,7 @@ class MemoryBIO:
def write(self, __buf: bytes) -> int: ...
def write_eof(self) -> None: ...
@final
class SSLSession:
id: bytes
time: int

View File

@@ -1,5 +1,6 @@
import sys
from typing import Any, TypeVar
from typing_extensions import final
ucd_3_2_0: UCD
ucnhash_CAPI: Any
@@ -23,7 +24,7 @@ def mirrored(__chr: str) -> int: ...
def name(__chr: str, __default: _T = ...) -> str | _T: ...
def normalize(__form: str, __unistr: str) -> str: ...
def numeric(__chr: str, __default: _T = ...) -> float | _T: ...
@final
class UCD:
# The methods below are constructed from the same array in C
# (unicodedata_functions) and hence identical to the methods above.