Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
5.12.0
-
None
-
-
44729f5c176e2585f00b6fefacffa7830b1e9f22 (pyside/pyside-setup/5.15)
Description
I am trying to wrap parts of the libstd++, and am having issues with the use of inline namespaces. As an example, the std::error_category in current stdlibs is actually defined as std::_V2::error_category, where _V2 is an inline namespace.
Shiboken will generate names including the V2 namespace, and ignore types "coming in" as std::error_category. Also typedefing or similar won't work as those types are actually identical.
From my understanding, this should be fixable by detecting in the ApiExtractor that a namespace is marked "inline", and then stripping all references to this namespace completely from the generated code.
If shiboken should also support the use of the inline namespace, (i.e. also accessing the std::_V2::error_category by this name), it might be required to add lookups that match both names.
Attachments
Issue Links
- relates to
-
PYSIDE-1133 Renaming via "target-lang-name" is not reflected in consuming function signatures
- Closed
- links to
For Gerrit Dashboard: PYSIDE-990 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
277881,2 | WIP: shiboken: Handle inline namespaces | 5.14 | pyside/pyside-setup | Status: ABANDONED | -2 | 0 |
278879,8 | shiboken: Give the type system entries a pointer to their parent | 5.14 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
278880,10 | shiboken: Store the unqualified entry name in TypeEntry | 5.14 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
278935,8 | libsample: Test renaming via "target-lang-name" attribute | 5.15 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279087,4 | Properly nest types in type system files | 5.14 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279094,9 | shiboken: Refactor target lang name | 5.14 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279095,1 | Use nameV2() | 5.14 | pyside/pyside-setup | Status: ABANDONED | -1 | 0 |
279566,7 | shiboken: Clean up handling of enclosing class | 5.15 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279989,2 | shiboken: Refactor lookForEnumsInClassesNotToBeGenerated() | 5.14 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279991,6 | shiboken: Handle inline namespaces | 5.15 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
279992,8 | shiboken6: Add tests for inline namespaces | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
284441,2 | shiboken/TypeDatabase: Add a look up for names excluding inline namespaces | 5.15 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
284442,2 | WIP: shiboken: Put Smart.SharedPtr into an inline namespace | dev | pyside/pyside-setup | Status: ABANDONED | -2 | 0 |