Hello all!
I have a compilation error with Boost 1.34.0, Sun Workshop 11 compiler.
Compiling Python library, I get
"libs/python/src/object/class.cpp", line 458: Error: Overloading ambiguity between "boost::python::api::getattr(const boost::python::scope&, const char(&)[11], const boost::python::str&)" and "boost::python::api::getattr(const boost::python::api::object&, const char*, const boost::python::api::object&)".
The code in question is
object module_prefix()
{
return object(
PyObject_IsInstance(scope().ptr(), upcast<PyObject>(&PyModule_Type))
? object(scope().attr("__name__"))
: api::getattr(scope(), "__module__", str()) <<=====
);
}
Of course, casting the string constant to (const char*) solves the problem, even though I realize it's not a boost-like solution.
The rest of 1.34 compiles perfectly for me (thanks are in order - excellent job!).
The exact version of the compiler is
$ CC -V
CC: Sun C++ 5.8 Patch 121017-07 2006/11/02
Sincerely,
Arkadiy Belousov
-----------------------------------------
*******************************************************************
*
This e-mail is intended only for the addressee named above.
As this e-mail may contain confidential or privileged information,
if you are not the named addressee, you are not authorized
to retain, read, copy or disseminate this message or any part of
it.
*******************************************************************
*