mirror of
https://github.com/pybind/pybind11.git
synced 2026-03-14 20:27:47 +00:00
relax operator[] for tuples, lists, and sequences
object_api::operator[] has a powerful overload for py::handle that can accept slices, tuples (for NumPy), etc. Lists, sequences, and tuples provide their own specialized operator[], which unfortunately disables this functionality. This is accidental, and the purpose of this commit is to re-enable the more general behavior. This commit is tangentially related to the previous one in that it makes py::handle/py::object et al. behave more like their Python counterparts.
This commit is contained in:
@@ -246,3 +246,8 @@ def test_number_protocol():
|
||||
li = [a == b, a != b, a < b, a <= b, a > b, a >= b, a + b,
|
||||
a - b, a * b, a / b, a | b, a & b, a ^ b, a >> b, a << b]
|
||||
assert m.test_number_protocol(a, b) == li
|
||||
|
||||
|
||||
def test_list_slicing():
|
||||
li = list(range(100))
|
||||
assert li[::2] == m.test_list_slicing(li)
|
||||
|
||||
Reference in New Issue
Block a user