Skip to content

Commit 7eb3501

Browse files
committed
ctypes: swap order of _SwappableCData (type-check-only) mixin to avoid a mypy_primer error
1 parent 547c05a commit 7eb3501

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

stdlib/ctypes/__init__.pyi

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -224,90 +224,90 @@ class _SwappableCData:
224224
__ctype_be__: ClassVar[type[Self]]
225225
__ctype_le__: ClassVar[type[Self]]
226226

227-
class c_bool(_SwappableCData, _SimpleCData[bool]):
227+
class c_bool(_SimpleCData[bool], _SwappableCData):
228228
_type_: ClassVar[Literal["?"]]
229229
def __init__(self, value: SupportsBool | SupportsLen | None = ...) -> None: ...
230230

231-
class c_byte(_SwappableCData, _SimpleCData[int]):
231+
class c_byte(_SimpleCData[int], _SwappableCData):
232232
_type_: ClassVar[Literal["b"]]
233233

234-
class c_ubyte(_SwappableCData, _SimpleCData[int]):
234+
class c_ubyte(_SimpleCData[int], _SwappableCData):
235235
_type_: ClassVar[Literal["B"]]
236236

237-
class c_short(_SwappableCData, _SimpleCData[int]):
237+
class c_short(_SimpleCData[int], _SwappableCData):
238238
_type_: ClassVar[Literal["h"]]
239239

240-
class c_ushort(_SwappableCData, _SimpleCData[int]):
240+
class c_ushort(_SimpleCData[int], _SwappableCData):
241241
_type_: ClassVar[Literal["H"]]
242242

243-
class c_long(_SwappableCData, _SimpleCData[int]):
243+
class c_long(_SimpleCData[int], _SwappableCData):
244244
_type_: ClassVar[Literal["l"]]
245245

246-
class c_ulong(_SwappableCData, _SimpleCData[int]):
246+
class c_ulong(_SimpleCData[int], _SwappableCData):
247247
_type_: ClassVar[Literal["L"]]
248248

249-
class c_int(_SwappableCData, _SimpleCData[int]): # can be an alias for c_long
249+
class c_int(_SimpleCData[int], _SwappableCData): # can be an alias for c_long
250250
_type_: ClassVar[Literal["i", "l"]]
251251

252-
class c_uint(_SwappableCData, _SimpleCData[int]): # can be an alias for c_ulong
252+
class c_uint(_SimpleCData[int], _SwappableCData): # can be an alias for c_ulong
253253
_type_: ClassVar[Literal["I", "L"]]
254254

255-
class c_longlong(_SwappableCData, _SimpleCData[int]): # can be an alias for c_long
255+
class c_longlong(_SimpleCData[int], _SwappableCData): # can be an alias for c_long
256256
_type_: ClassVar[Literal["q", "l"]]
257257

258-
class c_ulonglong(_SwappableCData, _SimpleCData[int]): # can be an alias for c_ulong
258+
class c_ulonglong(_SimpleCData[int], _SwappableCData): # can be an alias for c_ulong
259259
_type_: ClassVar[Literal["Q", "L"]]
260260

261261
c_int8 = c_byte
262262
c_uint8 = c_ubyte
263263

264-
class c_int16(_SwappableCData, _SimpleCData[int]): # can be an alias for c_short or c_int
264+
class c_int16(_SimpleCData[int], _SwappableCData): # can be an alias for c_short or c_int
265265
_type_: ClassVar[Literal["h", "i"]]
266266

267-
class c_uint16(_SwappableCData, _SimpleCData[int]): # can be an alias for c_ushort or c_uint
267+
class c_uint16(_SimpleCData[int], _SwappableCData): # can be an alias for c_ushort or c_uint
268268
_type_: ClassVar[Literal["H", "I"]]
269269

270-
class c_int32(_SwappableCData, _SimpleCData[int]): # can be an alias for c_int or c_long
270+
class c_int32(_SimpleCData[int], _SwappableCData): # can be an alias for c_int or c_long
271271
_type_: ClassVar[Literal["i", "l"]]
272272

273-
class c_uint32(_SwappableCData, _SimpleCData[int]): # can be an alias for c_uint or c_ulong
273+
class c_uint32(_SimpleCData[int], _SwappableCData): # can be an alias for c_uint or c_ulong
274274
_type_: ClassVar[Literal["I", "L"]]
275275

276-
class c_int64(_SwappableCData, _SimpleCData[int]): # can be an alias for c_long or c_longlong
276+
class c_int64(_SimpleCData[int], _SwappableCData): # can be an alias for c_long or c_longlong
277277
_type_: ClassVar[Literal["l", "q"]]
278278

279-
class c_uint64(_SwappableCData, _SimpleCData[int]): # can be an alias for c_ulong or c_ulonglong
279+
class c_uint64(_SimpleCData[int], _SwappableCData): # can be an alias for c_ulong or c_ulonglong
280280
_type_: ClassVar[Literal["L", "Q"]]
281281

282-
class c_ssize_t(_SwappableCData, _SimpleCData[int]): # alias for c_int, c_long, or c_longlong
282+
class c_ssize_t(_SimpleCData[int], _SwappableCData): # alias for c_int, c_long, or c_longlong
283283
_type_: ClassVar[Literal["i", "l", "q"]]
284284

285-
class c_size_t(_SwappableCData, _SimpleCData[int]): # alias for c_uint, c_ulong, or c_ulonglong
285+
class c_size_t(_SimpleCData[int], _SwappableCData): # alias for c_uint, c_ulong, or c_ulonglong
286286
_type_: ClassVar[Literal["I", "L", "Q"]]
287287

288-
class c_float(_SwappableCData, _SimpleCData[float]):
288+
class c_float(_SimpleCData[float], _SwappableCData):
289289
_type_: ClassVar[Literal["f"]]
290290

291-
class c_double(_SwappableCData, _SimpleCData[float]):
291+
class c_double(_SimpleCData[float], _SwappableCData):
292292
_type_: ClassVar[Literal["d"]]
293293

294-
class c_longdouble(_SwappableCData, _SimpleCData[float]): # can be an alias for c_double
294+
class c_longdouble(_SimpleCData[float], _SwappableCData): # can be an alias for c_double
295295
_type_: ClassVar[Literal["d", "g"]]
296296

297297
if sys.version_info >= (3, 14) and sys.platform != "win32":
298298
# NOTE: currently (3.14.4) the `__ctype_{be,le}__` attributes of these complex types are missing at runtime:
299299
# https://github.com/python/cpython/issues/148464
300300

301-
class c_double_complex(_SwappableCData, _SimpleCData[complex]):
301+
class c_double_complex(_SimpleCData[complex], _SwappableCData):
302302
_type_: ClassVar[Literal["D"]]
303303

304-
class c_float_complex(_SwappableCData, _SimpleCData[complex]):
304+
class c_float_complex(_SimpleCData[complex], _SwappableCData):
305305
_type_: ClassVar[Literal["F"]]
306306

307-
class c_longdouble_complex(_SwappableCData, _SimpleCData[complex]):
307+
class c_longdouble_complex(_SimpleCData[complex], _SwappableCData):
308308
_type_: ClassVar[Literal["G"]]
309309

310-
class c_char(_SwappableCData, _SimpleCData[bytes]):
310+
class c_char(_SimpleCData[bytes], _SwappableCData):
311311
_type_: ClassVar[Literal["c"]]
312312
def __init__(self, value: int | bytes | bytearray = ...) -> None: ...
313313

0 commit comments

Comments
 (0)