@@ -5,7 +5,7 @@ from ctypes import _SimpleCData, c_char
55from multiprocessing .context import BaseContext
66from multiprocessing .synchronize import _LockLike
77from types import TracebackType
8- from typing import Any , Generic , Literal , Protocol , TypeVar , overload
8+ from typing import Any , Generic , Literal , Protocol , SupportsIndex , TypeVar , overload
99
1010__all__ = ["RawValue" , "RawArray" , "Value" , "Array" , "copy" , "synchronized" ]
1111
@@ -103,27 +103,27 @@ class Synchronized(SynchronizedBase[_SimpleCData[_T]], Generic[_T]):
103103class SynchronizedArray (SynchronizedBase [ctypes .Array [_SimpleCData [_T ]]], Generic [_T ]):
104104 def __len__ (self ) -> int : ...
105105 @overload
106- def __getitem__ (self , i : slice ) -> list [_T ]: ...
106+ def __getitem__ (self , i : slice [ SupportsIndex | None ] ) -> list [_T ]: ...
107107 @overload
108- def __getitem__ (self , i : int ) -> _T : ...
108+ def __getitem__ (self , i : SupportsIndex ) -> _T : ...
109109 @overload
110- def __setitem__ (self , i : slice , value : Iterable [_T ]) -> None : ...
110+ def __setitem__ (self , i : slice [ SupportsIndex | None ] , value : Iterable [_T ]) -> None : ...
111111 @overload
112- def __setitem__ (self , i : int , value : _T ) -> None : ...
113- def __getslice__ (self , start : int , stop : int ) -> list [_T ]: ...
114- def __setslice__ (self , start : int , stop : int , values : Iterable [_T ]) -> None : ...
112+ def __setitem__ (self , i : SupportsIndex , value : _T ) -> None : ...
113+ def __getslice__ (self , start : SupportsIndex , stop : SupportsIndex ) -> list [_T ]: ...
114+ def __setslice__ (self , start : SupportsIndex , stop : SupportsIndex , values : Iterable [_T ]) -> None : ...
115115
116116class SynchronizedString (SynchronizedArray [bytes ]):
117117 @overload # type: ignore[override]
118- def __getitem__ (self , i : slice ) -> bytes : ...
118+ def __getitem__ (self , i : slice [ SupportsIndex | None ] ) -> bytes : ...
119119 @overload
120- def __getitem__ (self , i : int ) -> bytes : ...
120+ def __getitem__ (self , i : SupportsIndex ) -> bytes : ...
121121 @overload # type: ignore[override]
122- def __setitem__ (self , i : slice , value : bytes ) -> None : ...
122+ def __setitem__ (self , i : slice [ SupportsIndex | None ] , value : bytes ) -> None : ...
123123 @overload
124- def __setitem__ (self , i : int , value : bytes ) -> None : ...
125- def __getslice__ (self , start : int , stop : int ) -> bytes : ... # type: ignore[override]
126- def __setslice__ (self , start : int , stop : int , values : bytes ) -> None : ... # type: ignore[override]
124+ def __setitem__ (self , i : SupportsIndex , value : bytes ) -> None : ...
125+ def __getslice__ (self , start : SupportsIndex , stop : SupportsIndex ) -> bytes : ... # type: ignore[override]
126+ def __setslice__ (self , start : SupportsIndex , stop : SupportsIndex , values : bytes ) -> None : ... # type: ignore[override]
127127
128128 value : bytes
129129 raw : bytes
0 commit comments