Found via `codespell -q 3 -L "uint,bae,objext,cmo,goin,struc,ois,upto"`
whitespaces were unintentionally fixed due to my editors settings.
Rebased patch #1327
An error was not being set if an implicit conversion was attempted
calling an explicit constructor.
Fixes:
Fatal Python error: a function returned NULL without setting an error
SystemError: <built-in function new_A> returned NULL without setting an error
File "Examples/test-suite/python/implicittest.py", line 106 in __init_
- std::unordered_map compilation fix when just using std_unordered_map.i standalone
- std::unordered_multimap compilation fix when just using std_unordered_multimap.i standalone
- Add in the standalone unordered STL test cases
Closes#1319
Output methods in the same place that they would be generated in the
proxy class when not using -fastproxy. When using autodoc, the two
definitions of the method are then right after each other.
When there is just a _runme3.py file and no _runme.py file, out of
source builds were not running the script.
Currently only applies to python_abstractbase_runme3.py.
The previous implementation failed with Python 3 and abstract base clases.
The new implementation replaces the Python 2 implementation using new.instancemethod with C API PyMethod_New to match the equivalent Python 3 implementation which uses PyInstanceMethod_New.
Closes#1310
Further crash fixes when using OUTPUT and INOUT typemaps in typemaps.i and
passing NULL pointers in C++ to director method overloaded and implemented
in Java.
Don't create the one element array in these directorin typemaps if the
input is a NULL pointer, that is, translate a NULL C++ pointer into a
null Java object.
Also add some missing JNI error checks in these typemaps.
* python-type-error:
Python fastdispatch error message improvements
Correct PyErr_Fetch/PyErr_Restore variable names
Overloaded C++ function Python wrappers now raise a TypeError instead of NotImplementedError
When overloaded C++ methods are called, the fastdispatch mode sometimes
optimises out the generation of the typecheck typemap code, resulting in
the 'Possible C/C++ prototypes' information not being in the error message.
Now when a TypeError is thrown, the exception message is modified to contain the
'Possible C/C++ prototypes'.
See issue #1293
Occurs when the types passed are incorrect. This change means
there is now consistency with non-overloaded function wrappers which have always
raised TypeError when the incorrect types are passed.
See issue #1293
Work around Ruby on MacOS Xcode 9.4 misconfiguration defining 'isfinite'
to deprecated 'finite'. Example warning:
li_std_list_wrap.cxx:7197:9: error: 'finite' is deprecated: first deprecated in macOS 10.9 [-Werror,-Wdeprecated-declarations]
if (SWIG_Float_Overflow_Check(v)) {
^
li_std_list_wrap.cxx:7156:73: note: expanded from macro 'SWIG_Float_Overflow_Check'
^
li_std_list_wrap.cxx:7122:29: note: expanded from macro 'SWIG_isfinite'
^
/Users/travis/.rvm/rubies/ruby-2.4.3/include/ruby-2.4.0/ruby/missing.h:180:24: note: expanded from macro 'isfinite'
^
/usr/include/math.h:757:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);