Message 144818 - Python tracker (original) (raw)

STINNER Victor <report@bugs.python.org> wrote:

Not implemented formats. Ugly, but inevitable. This is the same as

issue #2531: equality is also used for membership testing and must

return a result.

a = array.array('u', 'xyz') v = memoryview(a) self.assertNotEqual(v, a) self.assertNotEqual(a, v)

I don't understand: a buffer format is a format for the struct module, or for the array module?

It's like this: memoryview follows the current struct syntax, which doesn't have 'u'. memory_richcompare() does not understand 'u', but is required to return something for eq and ne, so it returns 'not equal'.

This isn't so important, since I discovered (see my later post) that 'u' and 'w' were scheduled for inclusion in the struct module anyway.

So I think we should focus on whether the proposed 'c', 'u' and 'w' format specifiers still make sense after the PEP-393 changes.