New submission from Serhiy Storchaka:

First, the documentation says that syntax for 'O!' conversion is
object(type='name_of_Python_type'), but actually the type argument should be 
the name of C structure which represents Python type. I.e. object(type='list') 
is rejected, and object(type='PyList_Type') is accepted.

Second, from this declaration

/*[clinic]
module spam
spam.ham

    items: object(type='PyList_Type')
    /

[clinic]*/

Argument Clinic generates following parsing code:

    if (!PyArg_ParseTuple(args,
        "O!:ham",
        PyList_Type, &items))
        goto exit;

It is wrong, should be &PyList_Type.

----------
assignee: docs@python
components: Build, Documentation
messages: 207430
nosy: docs@python, larry, serhiy.storchaka
priority: release blocker
severity: normal
status: open
title: Argument Clinic: broken support for 'O!'
type: crash
versions: Python 3.4

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20141>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to