Details
Description
I'll try to create a full MWE later, but wanted to report this early:
namespace Foo {
struct Bar {};
using SharedBar = QSharedPointer<Bar>;
struct Asdf
{
void take(const SharedBar& bar);
};
}
This will lead to invalid code generation by shiboken:
.../pytest_foo_python.h:80:33: error: parse error in template argument list template<> inline PyTypeObject* SbkType< ::const QSharedPointer< Foo::Bar > & >() { return reinterpret_cast<PyTypeObject*>(SbkPyTest_FooTypes[SBK_QSHAREDPOINTER_CONSTFOO_BAR_IDX]); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../pytest_foo_python.h:80:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
Attachments
Issue Links
- relates to
-
PYSIDE-753 QAspectEngine: setRootEntity not available in Python/PySide2
- Closed
-
PYSIDE-1024 shared pointer SKB_*_IDX conflicts
- Closed
-
PYSIDE-454 Support shared pointers in APIs
- Closed
-
PYSIDE-2071 Reg->6.3.X Compilation error with shared pointers (works with 6.2.2.1, doesn't work with 6.3.2)
- Closed
For Gerrit Dashboard: PYSIDE-1016 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
264219,3 | shiboken: Fix generation of init functions and types for const-refs of smart pointers | 5.12 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
264991,3 | shiboken: Fix handling shared pointers passed by const-ref, take 2 | 5.12 | pyside/pyside-setup | Status: MERGED | +2 | 0 |