mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-22 20:01:29 +08:00
stdlib: new signature for CDLL in 3.12 (#13313)
This commit is contained in:
11
stdlib/@tests/test_cases/ctypes/check_CDLL.py
Normal file
11
stdlib/@tests/test_cases/ctypes/check_CDLL.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import ctypes
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing_extensions import assert_type
|
||||
|
||||
assert_type(ctypes.CDLL(None), ctypes.CDLL)
|
||||
assert_type(ctypes.CDLL("."), ctypes.CDLL)
|
||||
|
||||
# https://github.com/python/cpython/pull/7032
|
||||
if sys.version_info >= (3, 12):
|
||||
assert_type(ctypes.CDLL(Path(".")), ctypes.CDLL)
|
||||
@@ -24,6 +24,7 @@ from _ctypes import (
|
||||
set_errno as set_errno,
|
||||
sizeof as sizeof,
|
||||
)
|
||||
from _typeshed import StrPath
|
||||
from ctypes._endian import BigEndianStructure as BigEndianStructure, LittleEndianStructure as LittleEndianStructure
|
||||
from typing import Any, ClassVar, Generic, TypeVar, type_check_only
|
||||
from typing_extensions import Self, TypeAlias, deprecated
|
||||
@@ -57,6 +58,11 @@ class _CDLLFuncPointer(_CFuncPtr):
|
||||
class _NamedFuncPointer(_CDLLFuncPointer):
|
||||
__name__: str
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
_NameTypes: TypeAlias = StrPath | None
|
||||
else:
|
||||
_NameTypes: TypeAlias = str | None
|
||||
|
||||
class CDLL:
|
||||
_func_flags_: ClassVar[int]
|
||||
_func_restype_: ClassVar[type[_CDataType]]
|
||||
@@ -65,7 +71,7 @@ class CDLL:
|
||||
_FuncPtr: type[_CDLLFuncPointer]
|
||||
def __init__(
|
||||
self,
|
||||
name: str | None,
|
||||
name: _NameTypes,
|
||||
mode: int = ...,
|
||||
handle: int | None = None,
|
||||
use_errno: bool = False,
|
||||
|
||||
Reference in New Issue
Block a user