- 07 Feb, 2018 17 commits
-
-
- UPDATEIFCOPY is deprecated, replaced with similar (but not identical) WRITEBACKIFCOPY; trying to access the flag causes a deprecation warning under numpy 1.14, so just check the new flag there. - Numpy `repr` formatting of floats changed in 1.14.0 to `[1., 2., 3.]` instead of the pre-1.14 `[ 1., 2., 3.]`. Updated the tests to check for equality with the `repr(...)` value rather than the hard-coded (and now version-dependent) string representation.
Jason Rhinelander committed -
Jason Rhinelander committed
-
Jason Rhinelander committed
-
When using the mixed position + vararg path, pybind over inc_ref's the vararg positions. Printing the ref_count() of `item` before and after this change you see: Before change: ``` refcount of item before assign 3 refcount of item after assign 5 ``` After change ``` refcount of item before assign 3 refcount of item after assign 4 ```
Zach DeVito committed -
The `py::args` or `py::kwargs` arguments aren't properly referenced when added to the function_call arguments list: their reference counts drop to zero if the first (non-converting) function call fails, which means they might be cleaned up before the second pass call runs. This commit adds a couple of extra `object`s to the `function_call` where we can stash a reference to them when needed to tie their lifetime to the function_call object's lifetime. (Credit to YannickJadoul for catching and proposing a fix in #1223).
Jason Rhinelander committed -
Elliott Sales de Andrade committed
-
In the latest MSVC in C++17 mode including Eigen causes warnings: warning C4996: 'std::unary_negate<_Fn>': warning STL4008: std::not1(), std::not2(), std::unary_negate, and std::binary_negate are deprecated in C++17. They are superseded by std::not_fn(). You can define _SILENCE_CXX17_NEGATORS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning. This disables 4996 for the Eigen includes. Catch generates a similar warning for std::uncaught_exception, so disable the warning there, too. In both cases this is temporary; we can (and should) remove the warnings disabling once new upstream versions of Eigen and Catch are available that address the warning. (The Catch one, in particular, looks to be fixed in upstream master, so will probably be fixed in the next (2.0.2) release).Jason Rhinelander committed -
Antony Lee committed
-
Wenzel Jakob committed
-
A few fixes related to how we set `__qualname__` and how we show the type name in function signatures: - `__qualname__` isn't supposed to have the module name at the beginning, but we've been putting it there. This removes it, while keeping the `Nested.Class` name chaining. - print `__module__.__qualname__` rather than `type->tp_name`; the latter doesn't work properly for nested classes, so we would get `module.B` rather than `module.A.B` for a class `B` with parent `A`. This also unifies the Python 3 and PyPy code. Fixes #1166. - This now sets a `__qualname__` attribute on the type (as would happen in Python 3.3+) for Python <3.3, including PyPy. While not particularly important to have in earlier Python versions, it's useful for us to be able to extracted the nested name, which is why `__qualname__` was invented in the first place. - Added tests for the above.
Jason Rhinelander committed -
Non-user facing. Found using `codespell -q 3`
Unknown committed -
The just-updated flake8 package hits a bunch of: E741 ambiguous variable name 'l' warnings. This commit renames them all from `l` to `lst` (they are all list values) to avoid the error.Jason Rhinelander committed -
Wenzel Jakob committed
-
- For the debian/buster docker build (GCC 7/C++17) install and use the system `catch` package; this also renames "COMPILER_PACKAGES" to "EXTRA_PACKAGES" since it now contains a non-compiler package. - Add a status message indicating the catch version being used for compiling the embedded tests - Simplify some bash code by using VAR+=" foo" to append (rather than VAR="${VAR} foo" - Fix CMAKE_INCLUDE_PATH appending: it was prepending the ':' but not the existing $CMAKE_INCLUDE_PATH value and so would end up with ":/eigen-path" if CMAKE_INCLUDE_PATH was already set. (This wasn't bug that was actually noticed since currently nothing else sets it).Jason Rhinelander committed -
Building with the (VS2017) /permissive- flag puts the compiler into stricter standards-compliant mode. It shouldn't cause the compiler to work differently--it just disallows some non-conforming code--so should be perfectly fine for the test suite under all VS2017 builds. This commit also fixes one failure under non-permissive mode.
Jason Rhinelander committed -
This fixes a bug introduced in b68959e8 when passing in a two-dimensional, but conformable, array as the value for a compile-time Eigen vector (such as VectorXd or RowVectorXd). The commit switched to using numpy to copy into the eigen data, but this broke the described case because numpy refuses to broadcast a (N,1) into a (N). This commit fixes it by squeezing the input array whenever the output array is 1-dimensional, which will let the problematic case through. (This shouldn't squeeze inappropriately as dimension compatibility is already checked for conformability before getting to the copy code).
Jason Rhinelander committed -
This changes the caster to return a reference to a (new) local `CharT` type caster member so that binding lvalue-reference char arguments works (currently it results in a compilation failure). Fixes #1116
Jason Rhinelander committed
-
- 14 Sep, 2017 2 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 13 Sep, 2017 4 commits
-
-
When Travis changes their default Python 3.x, it breaks any hardcoded version selection. Fix: make pyenv activate everything (2.7, 3.x) and use whichever Python 3.x is on by default. [skip appveyor]
Dean Moldovan committed -
Dean Moldovan committed
-
tzh1043 committed
-
* Expand documentation to include explicit example of py::module::import where one would expect it. * Describe how to use unbound and bound methods to class Python classes. [skip ci]
jbarlow83 committed
-
- 12 Sep, 2017 2 commits
-
-
E.g. trying to convert a `list` to a `std::vector<int>` without including <pybind11/stl.h> will now raise an error with a note that suggests checking the headers. The note is only appended if `std::` is found in the function signature. This should only be the case when a header is missing. E.g. when stl.h is included, the signature would contain `List[int]` instead of `std::vector<int>` while using stl_bind.h would produce something like `MyVector`. Similarly for `std::map`/`Dict`, `complex`, `std::function`/`Callable`, etc. There's a possibility for false positives, but it's pretty low.
Dean Moldovan committed -
Gunnar Läthén committed
-
- 11 Sep, 2017 1 commit
-
-
Fixes #1069.
Dean Moldovan committed
-
- 10 Sep, 2017 4 commits
-
-
Fixes #1075. `PyNumber_Float()` and `PyNumber_Long()` return new references.
Dean Moldovan committed -
Dean Moldovan committed
-
To avoid an ODR violation in the test suite while testing both `stl.h` and `std_bind.h` with `std::vector<bool>`, the `py::bind_vector<std::vector<bool>>` test is moved to the secondary module (which does not include `stl.h`).
Dean Moldovan committed -
[skip appveyor]
Henry Schreiner committed
-
- 08 Sep, 2017 4 commits
-
-
Dean Moldovan committed
-
Dean Moldovan committed
-
This runs the most basic tests first and avoids waiting until the very end for style checks. [skip appveyor]
Dean Moldovan committed -
* Update Python 3 osx image to xcode8.3 to speed up brew install. The Python 2 osx image remains xcode7.3. * Have one osx config run in debug mode to improve coverage. * Only run CMake build tests on two configs to speed up overall build. The CMake tests take ~30 seconds on each configuration, but we really only need to them to run on two: one on Linux and one on macOS. This mirrors the recent change on AppVeyor. * Merge the style/docs/pip tests with the barebones build. * Merge 32-bit and CMake install configurations. This removes clang 3.9 from testing, but there are already 3 other clang versions being tested on Travis and the new xcode8.3 image should be close to clang 3.9. [skip appveyor]
Dean Moldovan committed
-
- 07 Sep, 2017 1 commit
-
-
[skip ci]
Dean Moldovan committed
-
- 06 Sep, 2017 3 commits
-
-
Dean Moldovan committed
-
Fixes #1061. `T` and `const T &` are compatible types.
Dean Moldovan committed -
Dean Moldovan committed
-
- 05 Sep, 2017 1 commit
-
-
Marcin Wojdyr committed
-
- 04 Sep, 2017 1 commit
-
-
Closes #1048, closes #1052. [skip ci]
Dean Moldovan committed
-