- 15 Jan, 2021 1 commit
-
-
* Adding a valgrind build on debug Python 3.9 Co-authored-by: Boris Staletic <boris.staletic@gmail.com> * Add Valgrind suppression files - Introduce suppression file, populate it with a first suppression taken from CPython, and fix one leak in the tests - Suppress leak in NumPy - More clean tests! - Tests with names a-e passing (except for test_buffer) - Suppress multiprocessing errors - Merge multiprocessing suppressions into other suppression files - Numpy seems to be spelled with a big P - Append single entry from valgrind-misc.supp to valgrind-python.supp, and make clear valgrind-python.supp is only CPython Co-authored-by: Boris Staletic <boris.staletic@gmail.com> * Enable test_virtual_functions with a workaround * Add a memcheck cmake target - Add a memcheck cmake target - Reformat cmake - Appease the formatting overlords - they are angry - Format CMake valgrind target decently * Update CI config to new action versions * fix: separate memcheck from pytest * ci: cleanup * Merge Valgrind and other deadsnakes builds Co-authored-by: Boris Staletic <boris.staletic@gmail.com> Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Yannick Jadoul committed
-
- 14 Jan, 2021 9 commits
-
-
* Fix STATIC and SHARED flags not being detected * fix: use classic naming for all lib types Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
heyer2 committed -
Plug leaking function_records in cpp_function initialization in case of exceptions (found by Valgrind in #2746) (#2756) * Plug leaking function_record objects when exceptions are thrown * Plug leak of strdup'ed strings in function_record * Some extra comments about the function_record ownership dance * Clean up the function_record better, in case of exceptions * Demonstrate some extra function_record leaks * Change DeleteStrings template argument to free_strings runtime argument in destruct(function_record *) * Zero-state unique_function_record deleter object * Clarify rvalue reference to unique_ptr parameter in initialize_generic * Use push_back with const char * instead of emplace_back
Yannick Jadoul committed -
Sometimes programmers want to control this, and while it can be changed after the fact, it's commonly set via a CMAKE_ variable; if that variable is set, we should respect that (like the CMAKE_INTERPROCEDURAL_OPTIMIZATION setting).
Henry Schreiner committed -
docs: the order of alternatives for variant types matters, and follows the same rules as overload resolution (#2784)
Yannick Jadoul committed -
Found with codespell
Andy Maloney committed -
* Fix a clang warning from [-Wshadow-field-in-constructor-modified] warning: modifying constructor parameter 'flag' that shadows a field of 'set_flag' [-Wshadow-field-in-constructor-modified] * Change name based on review
Andy Maloney committed -
Andy Maloney committed
-
* Update attr.h: fix a warning found by static code analyzer Update attr.h: fix a warning found by Visual Studio static code analyzer Severity:Warning Code:C6323 Description: Use of arithmetic operator on Boolean type(s). Location: C:\src\onnxruntime\debug\pybind11\src\pybind11\include\pybind11\attr.h:547 * Update include/pybind11/attr.h Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com> * Update attr.h Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Changming Sun committed -
* Disable builds for 3.10.0a4, and enable a nightly 3.10-dev build * Fix job name * Remove deadsnakes job for now * Add deadsnakes jobs * There's no deadsnakes 2.7 * Add 3.10 to versions to be discovered by legacy FindPython, and fix debug input to deadsnakes/action * Try out branch with fix * Update to deadsnakes/action@v2.1.1
Yannick Jadoul committed
-
- 13 Jan, 2021 2 commits
-
-
Henry Schreiner committed
-
Yannick Jadoul committed
-
- 01 Jan, 2021 2 commits
-
-
Ignore deprecation warnings about old-style __init__/__setstate__ constructors in the tests (originally done in #2746) (#2759) * Ignore old-style __init__ warnings * Simplify ignoreOldStyleInitWarnings with py::exec * Only wrap single class_::defs to ignore DeprecationWarnings about old-style __init__
Yannick Jadoul committed -
* Fix leak in the test_copy_move::test_move_fallback * Fix leaking PyMethodDef in test_class::test_implicit_conversion_life_support * Plumb leak in test_buffer, occuring when a mutable buffer is requested for a read-only object, and enable test_buffer.py * Fix weird return_value_policy::reference in test_stl_binders, and enable those tests * Cleanup nodelete holder objects in test_smart_ptr, and enable those tests
Yannick Jadoul committed
-
- 31 Dec, 2020 2 commits
-
-
Fix invalid access when reinterpret_casting a non-pybind11 PyObject* to instance* (found by Valgrind in #2746) (#2755)
Yannick Jadoul committed -
* enum: Add Enum.value property * simplify * address review
Eric Cousineau committed
-
- 29 Dec, 2020 1 commit
-
-
Henry Schreiner committed
-
- 28 Dec, 2020 1 commit
-
-
* Do not set docstring for function when it's empty * No need to check pointer for `free` * Use ternary operator to conditionally set `ml_doc`
Qifan Lu committed
-
- 24 Dec, 2020 2 commits
-
-
* Update pytest to 6.2.1 in tests/requirements.txt * Pin pytest to last supported version for 3.5 * Suppress PytestUnraisableExceptionWarning and use sys.__unraisablehook__ instead of sys.unraisablehook * Fix filterwarnings mark on old pytest and old Python versions * Cleanup ignore_pytest_unraisable_warning decorator
Yannick Jadoul committed -
* docs: mention PYTHONPATH in installing.rst When pybind11 is included as a submodule, the user needs to update their Python module search path. Otherwise, the first c++ compilation command in docs/basics.rst will fail. * docs: add a note about compiling the example This note shows how to modify the compilation command for the example when the pybind11 source has been included as a Git submodule. * docs: add a note about compiling the example Added an internal link to the docs * docs: updated a note about compiling the example Also updated the command substitution syntax for consistency
Steve Siano committed
-
- 23 Dec, 2020 1 commit
-
-
Eric Cousineau committed
-
- 22 Dec, 2020 4 commits
-
-
Henry Schreiner committed
-
... by leaving the unused parameters anonymous. (This can be checked e.g. by compiling python_example with -Wall -Wextra.)
Antony Lee committed -
Henry Schreiner committed
-
Henry Schreiner committed
-
- 19 Dec, 2020 2 commits
-
-
* Avoid thread termination in scoped_released Do not call `PyEval_RestoreThread()` from `~gil_scoped_release()` if python runtime is finalizing, as it will result in thread termination in Python runtime newer than 3.6, as documented in https://docs.python.org/3/c-api/init.html#c.PyEval_RestoreThread Similarly do not call `PyThreadState_DeleteCurrent` from `~gil_scoped_acquire()` if runtime is finalizing. Discovered while debugging PyTorch crash using Python-3.9 described in https://github.com/pytorch/pytorch/issues/47776 * Simplify _Py_IsFinalizing() availability check * Fix typo * Add version agnostic `detail::finalization_guard()` * Move `finalization_guard` to detail/common.h And rename it to `is_finalizing` * Move `is_finalizing()` back to pybind11.h * Simplify `is_finalizing()` check One should follow documentation rather than make any assumptions * feat: disarm * docs: fix comment Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Nikita Shulga committed -
* minor cleanup: fixing or silencing flake8 errors * ci: lock CMake to non-Universal version * Update .github/workflows/ci.yml Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Ralf W. Grosse-Kunstleve committed
-
- 16 Dec, 2020 5 commits
-
-
fix: also throw in the move-constructor added by the PYBIND11_OBJECT macro, after the argument has been moved-out (if necessary) (#2701)
Yannick Jadoul committed -
which was just before set to True in instance->allocate_layout()
Robert Haschke committed -
* fix: regression with installed pybind11 overriding discovered one Closes #2709 * docs: wording incorrect
Henry Schreiner committed -
* ci: drop pypy2 linux, add Python 10 dev * ci: fix mistake * ci: commented-out PGI 20.11, drop 20.7
Henry Schreiner committed -
Adjusting `type_caster<std::reference_wrapper<T>>` to support const/non-const propagation in `cast_op`. (#2705) * Allow type_caster of std::reference_wrapper<T> to be the same as a native reference. Before, both std::reference_wrapper<T> and std::reference_wrapper<const T> would invoke cast_op<type>. This doesn't allow the type_caster<> specialization for T to distinguish reference_wrapper types from value types. After, the type_caster<> specialization invokes cast_op<type&>, which allows reference_wrapper to behave in the same way as a native reference type. * Add tests/examples for std::reference_wrapper<const T> * Add tests which use mutable/immutable variants This test is a chimera; it blends the pybind11 casters with a custom pytype implementation that supports immutable and mutable calls. In order to detect the immutable/mutable state, the cast_op needs to propagate it, even through e.g. std::reference<const T> Note: This is still a work in progress; some things are crashing, which likely means that I have a refcounting bug or something else missing. * Add/finish tests that distinguish const& from & Fixes the bugs in my custom python type implementation, demonstrate test that requires const& and reference_wrapper<const T> being treated differently from Non-const. * Add passing a const to non-const method. * Demonstrate non-const conversion of reference_wrapper in tests. Apply formatting presubmit check. * Fix build errors from presubmit checks. * Try and fix a few more CI errors * More CI fixes. * More CI fixups. * Try and get PyPy to work. * Additional minor fixups. Getting close to CI green. * More ci fixes? * fix clang-tidy warnings from presubmit * fix more clang-tidy warnings * minor comment and consistency cleanups * PyDECREF -> Py_DECREF * copy/move constructors * Resolve codereview comments * more review comment fixes * review comments: remove spurious & * Make the test fail even when the static_assert is commented out. This expands the test_freezable_type_caster a bit by: 1/ adding accessors .is_immutable and .addr to compare identity from python. 2/ Changing the default cast_op of the type_caster<> specialization to return a non-const value. In normal codepaths this is a reasonable default. 3/ adding roundtrip variants to exercise the by reference, by pointer and by reference_wrapper in all call paths. In conjunction with 2/, this demonstrates the failure case of the existing std::reference_wrpper conversion, which now loses const in a similar way that happens when using the default cast_op_type<>. * apply presubmit formatting * Revert inclusion of test_freezable_type_caster There's some concern that this test is a bit unwieldly because of the use of the raw <Python.h> functions. Removing for now. * Add a test that validates const references propagation. This test verifies that cast_op may be used to correctly detect const reference types when used with std::reference_wrapper. * mend * Review comments based changes. 1. std::add_lvalue_reference<type> -> type& 2. Simplify the test a little more; we're never returning the ConstRefCaster type so the class_ definition can be removed. * formatted files again. * Move const_ref_caster test to builtin_casters * Review comments: use cast_op and adjust some comments. * Simplify ConstRefCasted test I like this version better as it moves the assertion that matters back into python.
Laramie Leavitt committed
-
- 08 Dec, 2020 2 commits
-
-
Yannick Jadoul committed
-
This is nice enough to be mentioned explicitly in the docs.
Antony Lee committed
-
- 24 Nov, 2020 2 commits
-
-
docs: add warning about FindPython's Development component when libraries don't exist (e.g. on manylinux) (#2689) * Add waring about FindPython's Development component when libraries don't exist (e.g. on manylinux) * Minor wording update (thanks, @henryiii!)
Yannick Jadoul committed -
`git submodule add` needs the branch before the repository or else it is ignored. The previous code checked out the `master` branch, not the `stable` branch.
James Foster committed
-
- 23 Nov, 2020 3 commits
-
-
Boris Staletic committed
-
albanD committed
-
Tobias Leibner committed
-
- 19 Nov, 2020 1 commit
-
-
* List all the pyind11 exceptions. For curious readers, see `translate_exception` and `PYBIND11_RUNTIME_EXCEPTION.
Jean-Baptiste Lespiau committed
-