From 32bc5fcbbe7169d15e822eaf88be3054cab9f04a Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Mon, 4 Aug 2025 19:50:41 -0400 Subject: [PATCH] Make `FFI.buffer` implement buffer protocol, mark dunder methods as positional-only (#14505) --- stubs/cffi/_cffi_backend.pyi | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/stubs/cffi/_cffi_backend.pyi b/stubs/cffi/_cffi_backend.pyi index 850b66706..b063e9bc8 100644 --- a/stubs/cffi/_cffi_backend.pyi +++ b/stubs/cffi/_cffi_backend.pyi @@ -90,16 +90,17 @@ class _CDataBase: class buffer: __hash__: ClassVar[None] # type: ignore[assignment] def __init__(self, *args, **kwargs) -> None: ... - def __delitem__(self, other) -> None: ... - def __eq__(self, other): ... - def __ge__(self, other): ... - def __getitem__(self, index): ... - def __gt__(self, other): ... - def __le__(self, other): ... + def __buffer__(self, flags: int, /) -> memoryview: ... + def __delitem__(self, other, /) -> None: ... + def __eq__(self, other, /): ... + def __ge__(self, other, /): ... + def __getitem__(self, index, /): ... + def __gt__(self, other, /): ... + def __le__(self, other, /): ... def __len__(self) -> int: ... - def __lt__(self, other): ... - def __ne__(self, other): ... - def __setitem__(self, index, object) -> None: ... + def __lt__(self, other, /): ... + def __ne__(self, other, /): ... + def __setitem__(self, index, object, /) -> None: ... # These aliases are to work around pyright complaints. # Pyright doesn't like it when a class object is defined as an alias