New issue 2930: memoryview(ctypes.Structure) does not produce the correct 
format string
https://bitbucket.org/pypy/pypy/issues/2930/memoryview-ctypesstructure-does-not

mattip:

The following passes on CPython, fails on PyPy (`mv.format` is `B`)

```
class Struct(Structure):
    _fields_ = [('a', c_int16)]

Struct3 = 3 * Struct

c_array = (2 * Struct3)(
    Struct3(Struct(a=1), Struct(a=2), Struct(a=3)),
    Struct3(Struct(a=4), Struct(a=5), Struct(a=6))
)

mv = memoryview(c_array)
assert mv.format == 'T{<h:a:}'
```
The `memoryview` call goes to `_CData.__buffer__` in 
`lib_pypy._ctypes.basics.py`, which should not just call `buffer(self._buffer)`


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to