[C++-sig] Boost.Python "contains" compile fix

Axel Hübl axel.huebl at web.de
Mon Mar 30 22:37:42 CEST 2015


On 30.03.2015 17:42, Stefan Seefeld wrote:
> On 30/03/15 11:16 AM, Huebl, Axel wrote:
>> Hi,
>>
>>
>> adding more Python 3 features, the "contains" method was added (in 1.55.0?)
>>   http://www.boost.org/doc/libs/1_55_0/libs/python/doc/news.html
>>
>> Unfortunately, I found a nasty compile bug when compiling with nvcc that
>> I tried to fix in
>>   https://github.com/boostorg/python/pull/14
>>
>> Does anyone know how to test my patch to see if this function is still
>> working as expected?
> 
> I have looked at your patch, but am not convinced that this is the right
> fix. It would be best to really map "contains" to "__contains__" to
> preserve the precise semantic of that call.
> Do you see the "incomplete type" error only with nvcc or also with other
> compilers (clang, notably) ?
> 
> Thanks,
>         Stefan
> 

Hi Stefan,


I did only triggered the compile error it with nvcc since that is the
target I want to move Boost.Python to.

The main problem is actually in accessing the this->attr() method since
it's return type "const_object_attribute" is not yet fully typed.

Maybe it is therefore enough to just move the implementation of
  api::object_operators<U>::contains

down to a source file, but I did not find an according
  object_core.cpp

Do you have any hints on that?


Thanks,
Axel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20150330/6499b80a/attachment.sig>


More information about the Cplusplus-sig mailing list