Details
-
Bug
-
Resolution: Fixed
-
P3: Somewhat important
-
6.5.2
-
1fabac91e (dev), 66690e5c0 (6.5)
Description
If there is a function with default argument, it doesn't seem to be used if it is a bit more complex type. For example std::pair argument doesn't take the default argument in generated wrapper.
To reproduce run attached example. It prints "got pair 0,0" for a call to set_pair(std::pair<int,int> = std::pair(123,123));. In icecream_wrapper.cpp it can be seen to not pass the default argument to cppArg0:
::std::pair<int,int> cppArg0; if (pythonToCpp[0]) pythonToCpp[0](pyArgs[0], &cppArg0); if (!Shiboken::Errors::occurred()) { // set_pair(std::pair<int,int>) cppSelf->set_pair(cppArg0); }
but it works if the argument type is int.
Attachments
For Gerrit Dashboard: PYSIDE-2454 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
501823,2 | Fix default parameters for containers without indirections | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
502117,2 | Fix default parameters for containers without indirections | 6.5 | pyside/pyside-setup | Status: MERGED | +2 | 0 |