Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:

There was no much need of this feature. In rare cases when we needed to build a 
bool in Py_BuildValue (I have found only 2 cases in the stdlib, and one of them 
is added by me) we use the following idiom:

   Py_BuildValue("...O...", ..., expr ? Py_True : Py_False, ...)

You can have a temptation to write it as

   Py_BuildValue("...p...", ..., expr, ...)

but there is a catch -- the arguments should be a C int. If it is not, you can 
break a stack. Explicit cast to int ("(int)expr") is not always correct, so you 
will need to write "expr ? 1 : 0" which is not much better than "expr ? Py_True 
: Py_False".

----------
nosy: +serhiy.storchaka

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

Reply via email to