New submission from Tyler Reddy <tre...@dal.ca>:
Downstream in NumPy we've noticed that a "sequence" object defined as below will hang (infinite __getitem__ calls) if we try to turn it into an array. The same holds in CPython for converting it to a list: class OneList: def __len__(self): # this won't be checked by # PySequence_Fast and several # over C API calls return 1 def __getitem__(self, x): # called indefinitely by # i.e., PySequence_Fast return 1 Just to confirm -- this is intentional / desired behavior: list(OneList()) should hang in CPython? related: https://github.com/numpy/numpy/issues/8912 https://github.com/numpy/numpy/pull/11815 https://stackoverflow.com/a/43566241/2942522 ---------- messages: 324037 nosy: treddy priority: normal severity: normal status: open title: simple "sequence" class ignoring __len__ type: behavior versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34494> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com