mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-10 14:01:55 +08:00
Make ctypes.Array abstract (#6361)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import sys
|
||||
from _typeshed import ReadableBuffer, WriteableBuffer
|
||||
from abc import abstractmethod
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
@@ -268,8 +269,16 @@ class BigEndianStructure(Structure): ...
|
||||
class LittleEndianStructure(Structure): ...
|
||||
|
||||
class Array(Generic[_CT], _CData):
|
||||
_length_: int
|
||||
_type_: Type[_CT]
|
||||
@property
|
||||
@abstractmethod
|
||||
def _length_(self) -> int: ...
|
||||
@_length_.setter
|
||||
def _length_(self, value: int) -> None: ...
|
||||
@property
|
||||
@abstractmethod
|
||||
def _type_(self) -> Type[_CT]: ...
|
||||
@_type_.setter
|
||||
def _type_(self, value: Type[_CT]) -> None: ...
|
||||
raw: bytes # Note: only available if _CT == c_char
|
||||
value: Any # Note: bytes if _CT == c_char, str if _CT == c_wchar, unavailable otherwise
|
||||
# TODO These methods cannot be annotated correctly at the moment.
|
||||
|
||||
@@ -73,6 +73,8 @@ csv.Dialect.lineterminator
|
||||
csv.Dialect.quoting
|
||||
csv.Dialect.skipinitialspace
|
||||
ctypes.Array.__iter__ # mypy doesn't support using __getitem__ instead of __iter__ so this is here https://github.com/python/mypy/issues/2220
|
||||
ctypes.Array._type_ # _type_ and _length_ are abstract, https://github.com/python/typeshed/pull/6361
|
||||
ctypes.Array._length_
|
||||
ctypes.CDLL._FuncPtr # None at class level but initialized in __init__ to this value
|
||||
ctypes.memmove # CFunctionType
|
||||
ctypes.memset # CFunctionType
|
||||
|
||||
Reference in New Issue
Block a user