[C++-sig] Re: injected constructors

Gideon May gideon at computer.org
Sun Sep 21 18:52:15 CEST 2003


Dave,

I need some more time on the test case, a simple one compiles fine.
But the compiler gives an error while compiling the  opaque test from
the test directory.

Here is the output :

vc-C++ 
..\..\..\bin\boost\libs\python\test\opaque_ext.pyd\vc7\release\opaque.obj
opaque.cpp
C:\cvs_rep\boost\boost\python\detail\invoke.hpp(76) : error C2662: 
'boost::python::detail::opaque_conversion_holder<struct opaqu
e_ *>::operator`()'' : cannot convert 'this' pointer from 'const 
result_converter' to 'boost::python::detail::opaque_conversion_
holder<Pointer> &'
        with
        [
            Pointer=result_t
        ]
        Conversion loses qualifiers
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(216) : see 
reference to function template instantiation 'PyObject *boost
::python::detail::invoke(boost::python::detail::invoke_tag_<void_return,mem
ber>,const result_converter &,opaque_ (__cdecl *& )(v
oid))' being compiled
        with
        [
            void_return=false,
            member=false
        ]
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(193) : while 
compiling class-template member function 'PyObject *boost::
python::detail::caller_arity<__formal>::impl<F,Policies,Sig>::operator 
()(PyObject *,PyObject *)'
        with
        [
            __formal=0,
            F=opaque_ (__cdecl *)(void),
 
Policies=boost::python::return_value_policy<boost::python::return_opaque_po
inter,boost::python::default_call_policie
s>,
            Sig=boost::mpl::vector1<opaque >
        ]
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(162) : see 
reference to class template instantiation 'boost::python::det
ail::caller_arity<__formal>::impl<F,Policies,Sig>' being compiled
        with
        [
            __formal=0,
            F=opaque_ (__cdecl *)(void),
 
Policies=boost::python::return_value_policy<boost::python::return_opaque_po
inter,boost::python::default_call_policie
s>,
            Sig=boost::mpl::vector1<opaque >
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(62) : see reference 
to class template instantiation 'boost::python::deta
il::caller<F,CallPolicies,Sig>' being compiled
        with
        [
            F=opaque_ (__cdecl *)(void),
 
CallPolicies=boost::python::return_value_policy<boost::python::return_opaqu
e_pointer,boost::python::default_call_pol
icies>,
            Sig=boost::mpl::vector1<opaque >
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(79) : see reference 
to function template instantiation 'boost::python::a
pi::object boost::python::detail::make_function_aux(F,const 
boost::python::return_value_policy<ResultConverterGenerator,BasePoli
cy_> &,const boost::mpl::vector1<T0> &,const 
boost::python::detail::keyword_range 
&,boost::mpl::int_<BOOST_PP_ITERATION_0>)' bei
ng compiled
        with
        [
            F=opaque (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            T0=opaque ,
            BOOST_PP_ITERATION_0=0
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(127) : see 
reference to function template instantiation 'boost::python::
api::object boost::python::detail::make_function_dispatch(F,const 
boost::python::return_value_policy<ResultConverterGenerator,Ba
sePolicy_> &,const 
boost::python::detail::tuple_extract_impl<matched>::apply<Tuple,Predicate>:
:result_type &,boost::mpl::true_)'
 being compiled
        with
        [
            F=opaque (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            matched=false,
 
Tuple=boost::python::detail::def_helper<boost::python::return_value_policy<
boost::python::return_opaque_pointer,boos
t::python::default_call_policies>,boost::python::detail::not_specified,boos
t::python::detail::not_specified,boost::python::detai
l::not_specified>::all_t,
 
Predicate=boost::mpl::aux::lambda_impl<1,true>::result_<boost::python::deta
il::is_reference_to_keywords<boost::mpl::
_1>,boost::mpl::void_>::type
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(47) : see reference to 
function template instantiation 'boost::python::api::object
 boost::python::make_function(F,const 
boost::python::return_value_policy<ResultConverterGenerator,BasePolicy_> 
&,const boost::py
thon::detail::tuple_extract_impl<matched>::apply<Tuple,Predicate>::result_t
ype &)' being compiled
        with
        [
            F=opaque (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            matched=false,
 
Tuple=boost::python::detail::def_helper<boost::python::return_value_policy<
boost::python::return_opaque_pointer,boos
t::python::default_call_policies>,boost::python::detail::not_specified,boos
t::python::detail::not_specified,boost::python::detai
l::not_specified>::all_t,
 
Predicate=boost::mpl::aux::lambda_impl<1,true>::result_<boost::python::deta
il::is_reference_to_keywords<boost::mpl::
_1>,boost::mpl::void_>::type
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(66) : see reference to 
function template instantiation 'void boost::python::detail
::def_from_helper(const char *,opaque_ (__cdecl *const & )(void),const 
boost::python::detail::def_helper<T1,T2,T3,T4> &)' being
compiled
        with
        [
 
T1=boost::python::return_value_policy<boost::python::return_opaque_pointer,
boost::python::default_call_policies>,
            T2=boost::python::detail::not_specified,
            T3=boost::python::detail::not_specified,
            T4=boost::python::detail::not_specified
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(98) : see reference to 
function template instantiation 'void boost::python::detail
::def_maybe_overloads(const char *,opaque_ (__cdecl *)(void),const 
boost::python::return_value_policy<ResultConverterGenerator,B
asePolicy_> &,...)' being compiled
        with
        [
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies
        ]
        ..\..\..\libs\python\test\opaque.cpp(63) : see reference to 
function template instantiation 'void boost::python::def(con
st char *,opaque_ (__cdecl *)(void),const 
boost::python::return_value_policy<ResultConverterGenerator,BasePolicy_> 
&)' being com
piled
        with
        [
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies
        ]
C:\cvs_rep\boost\boost\python\detail\invoke.hpp(76) : error C2064: term 
does not evaluate to a function
C:\cvs_rep\boost\boost\python\detail\invoke.hpp(76) : error C2662: 
'boost::python::detail::opaque_conversion_holder<struct opaqu
e2_ *>::operator`()'' : cannot convert 'this' pointer from 'const 
result_converter' to 'boost::python::detail::opaque_conversion
_holder<Pointer> &'
        with
        [
            Pointer=result_t
        ]
        Conversion loses qualifiers
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(216) : see 
reference to function template instantiation 'PyObject *boost
::python::detail::invoke(boost::python::detail::invoke_tag_<void_return,mem
ber>,const result_converter &,opaque2_ (__cdecl *& )(
void))' being compiled
        with
        [
            void_return=false,
            member=false
        ]
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(193) : while 
compiling class-template member function 'PyObject *boost::
python::detail::caller_arity<__formal>::impl<F,Policies,Sig>::operator 
()(PyObject *,PyObject *)'
        with
        [
            __formal=0,
            F=opaque2_ (__cdecl *)(void),
 
Policies=boost::python::return_value_policy<boost::python::return_opaque_po
inter,boost::python::default_call_policie
s>,
            Sig=boost::mpl::vector1<opaque2 >
        ]
        C:\cvs_rep\boost\boost\python\detail\caller.hpp(162) : see 
reference to class template instantiation 'boost::python::det
ail::caller_arity<__formal>::impl<F,Policies,Sig>' being compiled
        with
        [
            __formal=0,
            F=opaque2_ (__cdecl *)(void),
 
Policies=boost::python::return_value_policy<boost::python::return_opaque_po
inter,boost::python::default_call_policie
s>,
            Sig=boost::mpl::vector1<opaque2 >
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(62) : see reference 
to class template instantiation 'boost::python::deta
il::caller<F,CallPolicies,Sig>' being compiled
        with
        [
            F=opaque2_ (__cdecl *)(void),
 
CallPolicies=boost::python::return_value_policy<boost::python::return_opaqu
e_pointer,boost::python::default_call_pol
icies>,
            Sig=boost::mpl::vector1<opaque2 >
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(79) : see reference 
to function template instantiation 'boost::python::a
pi::object boost::python::detail::make_function_aux(F,const 
boost::python::return_value_policy<ResultConverterGenerator,BasePoli
cy_> &,const boost::mpl::vector1<T0> &,const 
boost::python::detail::keyword_range 
&,boost::mpl::int_<BOOST_PP_ITERATION_0>)' bei
ng compiled
        with
        [
            F=opaque2 (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            T0=opaque2 ,
            BOOST_PP_ITERATION_0=0
        ]
        C:\cvs_rep\boost\boost\python\make_function.hpp(127) : see 
reference to function template instantiation 'boost::python::
api::object boost::python::detail::make_function_dispatch(F,const 
boost::python::return_value_policy<ResultConverterGenerator,Ba
sePolicy_> &,const 
boost::python::detail::tuple_extract_impl<matched>::apply<Tuple,Predicate>:
:result_type &,boost::mpl::true_)'
 being compiled
        with
        [
            F=opaque2 (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            matched=false,
 
Tuple=boost::python::detail::def_helper<boost::python::return_value_policy<
boost::python::return_opaque_pointer,boos
t::python::default_call_policies>,boost::python::detail::not_specified,boos
t::python::detail::not_specified,boost::python::detai
l::not_specified>::all_t,
 
Predicate=boost::mpl::aux::lambda_impl<1,true>::result_<boost::python::deta
il::is_reference_to_keywords<boost::mpl::
_1>,boost::mpl::void_>::type
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(47) : see reference to 
function template instantiation 'boost::python::api::object
 boost::python::make_function(F,const 
boost::python::return_value_policy<ResultConverterGenerator,BasePolicy_> 
&,const boost::py
thon::detail::tuple_extract_impl<matched>::apply<Tuple,Predicate>::result_t
ype &)' being compiled
        with
        [
            F=opaque2 (__cdecl *)(void),
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies,
            matched=false,
 
Tuple=boost::python::detail::def_helper<boost::python::return_value_policy<
boost::python::return_opaque_pointer,boos
t::python::default_call_policies>,boost::python::detail::not_specified,boos
t::python::detail::not_specified,boost::python::detai
l::not_specified>::all_t,
 
Predicate=boost::mpl::aux::lambda_impl<1,true>::result_<boost::python::deta
il::is_reference_to_keywords<boost::mpl::
_1>,boost::mpl::void_>::type
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(66) : see reference to 
function template instantiation 'void boost::python::detail
::def_from_helper(const char *,opaque2_ (__cdecl *const & )(void),const 
boost::python::detail::def_helper<T1,T2,T3,T4> &)' being
 compiled
        with
        [
 
T1=boost::python::return_value_policy<boost::python::return_opaque_pointer,
boost::python::default_call_policies>,
            T2=boost::python::detail::not_specified,
            T3=boost::python::detail::not_specified,
            T4=boost::python::detail::not_specified
        ]
        C:\cvs_rep\boost\boost\python\def.hpp(98) : see reference to 
function template instantiation 'void boost::python::detail
::def_maybe_overloads(const char *,opaque2_ (__cdecl *)(void),const 
boost::python::return_value_policy<ResultConverterGenerator,
BasePolicy_> &,...)' being compiled
        with
        [
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies
        ]
        ..\..\..\libs\python\test\opaque.cpp(72) : see reference to 
function template instantiation 'void boost::python::def(con
st char *,opaque2_ (__cdecl *)(void),const 
boost::python::return_value_policy<ResultConverterGenerator,BasePolicy_> 
&)' being co
mpiled
        with
        [
            ResultConverterGenerator=boost::python::return_opaque_pointer,
            BasePolicy_=boost::python::default_call_policies
        ]
C:\cvs_rep\boost\boost\python\detail\invoke.hpp(76) : error C2064: term 
does not evaluate to a function


    "cl"  /Zm800 -nologo -GX -c  -DNDEBUG -DNDEBUG 
-DBOOST_PYTHON_DYNAMIC_LIB  /Ogity /O2 /Gs /Ob2 /GX /GR /MD /Op 
/Zc:wchar_t,
forScope  -I"..\..\..\bin\boost\libs\python\test"  -I"C:\cvs_rep\boost" 
-I"C:\Python22\include" -I"C:\Program Files\Microsoft Vi
sual Studio .NET\VC7\include" 
-Fo"..\..\..\bin\boost\libs\python\test\opaque_ext.pyd\vc7\release\opaque.o
bj"  -Tp"..\..\..\lib
s\python\test\opaque.cpp"

...failed vc-C++ 
..\..\..\bin\boost\libs\python\test\opaque_ext.pyd\vc7\release\opaque.obj...
...skipped 
<@boost!libs!python!test\opaque_ext.pyd\vc7\release>opaque_ext.CMD for lack 
of <@boost!libs!python!test\opaque_ext.py
d\vc7\release>opaque.obj...
...skipped 
<@boost!libs!python!test\opaque_ext.pyd\vc7\release>opaque_ext.pyd for lack 
of <@boost!libs!python!test\opaque_ext.py
d\vc7\release>opaque_ext.CMD...
...skipped 
<@boost!libs!python!test\opaque_ext.pyd\vc7\release>opaque_ext.lib for lack 
of <@boost!libs!python!test\opaque_ext.py
d\vc7\release>opaque_ext.CMD...
vc-C++ 
..\..\..\bin\boost\libs\python\test\raw_pyobject_fail1.test\vc7\release\raw
_pyobject_fail1.obj
raw_pyobject_fail1.cpp
C:\cvs_rep\boost\boost\python\converter\arg_to_python.hpp(182) : error 
C2027: use of undefined type 'boost::python::converter::d
etail::cannot_convert_raw_PyObject<T>'
        with
        [
            T=PyTypeObject *
        ]
        C:\cvs_rep\boost\boost\python\converter\arg_to_python.hpp(181) : 
while compiling class-template member function 'void bo
ost::python::converter::detail::reject_raw_object_helper<T,Convertibility>:
:error(Convertibility)'
        with
        [
            T=PyTypeObject,
            Convertibility=boost::python::detail::no_convertible
        ]
        C:\cvs_rep\boost\boost\python\converter\arg_to_python.hpp(195) : 
see reference to class template instantiation 'boost::p
ython::converter::detail::reject_raw_object_helper<T,Convertibility>' being 
compiled
        with
        [
            T=PyTypeObject,
            Convertibility=boost::python::detail::no_convertible
        ]
        C:\cvs_rep\boost\boost\python\converter\arg_to_python.hpp(218) : 
see reference to function template instantiation 'void
boost::python::converter::detail::reject_raw_object_ptr(T *)' being compiled
        with
        [
            T=PyTypeObject
        ]
        C:\Program Files\Microsoft Visual Studio 
.NET\Vc7\include\xlocnum(80) : while compiling class-template member 
function '
boost::python::converter::detail::pointer_deep_arg_to_python<Ptr>::pointer_
deep_arg_to_python(Ptr)'
        with
        [
            Ptr=_typeobject *
        ]
        C:\Program Files\Microsoft Visual Studio 
.NET\Vc7\include\xmemory(136) : while compiling class-template member 
function
'boost::python::converter::arg_to_python<T>::arg_to_python(const T & )'
        with
        [
            T=PyTypeObject *
        ]
        ..\..\..\libs\python\test\raw_pyobject_fail1.cpp(10) : see 
reference to class template instantiation 'boost::python::con
verter::arg_to_python<T>' being compiled
        with
        [
            T=PyTypeObject *
        ]
C:\cvs_rep\boost\boost\python\converter\arg_to_python.hpp(182) : error 
C2065: 'to_python_use_handle_instead' : undeclared identi
fier


Ciao,

Gideon




More information about the Cplusplus-sig mailing list