From 73a55e76be0721c294d21e6b08048480170f6fa2 Mon Sep 17 00:00:00 2001 From: Stephen Morton Date: Sat, 16 Nov 2024 16:26:59 -0800 Subject: [PATCH] updates for `_dbm._dbm` (#13024) --- stdlib/_dbm.pyi | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/stdlib/_dbm.pyi b/stdlib/_dbm.pyi index 4113a7e3f..7e53cca3c 100644 --- a/stdlib/_dbm.pyi +++ b/stdlib/_dbm.pyi @@ -1,7 +1,7 @@ import sys from _typeshed import ReadOnlyBuffer, StrOrBytesPath from types import TracebackType -from typing import TypeVar, overload +from typing import TypeVar, final, overload, type_check_only from typing_extensions import Self, TypeAlias if sys.platform != "win32": @@ -13,6 +13,8 @@ if sys.platform != "win32": library: str # Actual typename dbm, not exposed by the implementation + @final + @type_check_only class _dbm: def close(self) -> None: ... if sys.version_info >= (3, 13): @@ -22,18 +24,17 @@ if sys.platform != "win32": def __setitem__(self, key: _KeyType, value: _ValueType) -> None: ... def __delitem__(self, key: _KeyType) -> None: ... def __len__(self) -> int: ... - def __del__(self) -> None: ... def __enter__(self) -> Self: ... def __exit__( self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None ) -> None: ... @overload - def get(self, k: _KeyType) -> bytes | None: ... + def get(self, k: _KeyType, /) -> bytes | None: ... @overload - def get(self, k: _KeyType, default: _T) -> bytes | _T: ... + def get(self, k: _KeyType, default: _T, /) -> bytes | _T: ... def keys(self) -> list[bytes]: ... - def setdefault(self, k: _KeyType, default: _ValueType = ...) -> bytes: ... - # Don't exist at runtime + def setdefault(self, k: _KeyType, default: _ValueType = ..., /) -> bytes: ... + # This isn't true, but the class can't be instantiated. See #13024 __new__: None # type: ignore[assignment] __init__: None # type: ignore[assignment]