Eryk Sun added the comment: You have to subclass ctypes.Array with a _type_ and _length_. But ctypes types also implement sequence repetition (*) to facilitate creating array types. For example:
import array, ctypes a1 = array.array('l') a1.fromlist(range(10)) c1 = (ctypes.c_long * 10).from_buffer(a1) >>> c1[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> c1[0] = 42 >>> a1[0] 42 That said, it's way too easy to segfault this. Why not simply fail the call in this case? e.g. StgDictObject *dict = PyType_stgdict(type); if (!dict) { PyErr_SetString(PyExc_TypeError, "abstract class"); return NULL; } ---------- nosy: +eryksun versions: +Python 3.4, Python 3.5, Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25659> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com