Skip to content

Commit 264d752

Browse files
committed
Implement C API function PySet_Discard.
1 parent 54bbe3e commit 264d752

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

graalpython/com.oracle.graal.python.cext/src/setobject.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,8 @@ UPCALL_ID(PySet_Pop);
6767
PyObject * PySet_Pop(PyObject *set) {
6868
return UPCALL_CEXT_O(_jls_PySet_Pop, native_to_java(set));
6969
}
70+
71+
UPCALL_ID(PySet_Discard);
72+
int PySet_Discard(PyObject *set, PyObject *key) {
73+
return UPCALL_CEXT_I(_jls_PySet_Discard, native_to_java(set), native_to_java(key));
74+
}

graalpython/lib-graalpython/python_cext.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,14 @@ def PyFrozenSet_New(iterable):
234234
return frozenset()
235235

236236

237+
@may_raise(-1)
238+
def PySet_Discard(s, key):
239+
if key in s:
240+
s.discard(key)
241+
return 1
242+
return 0
243+
244+
237245
##################### MAPPINGPROXY
238246

239247

0 commit comments

Comments
 (0)