- 01 Jan, 2021 1 commit
-
-
Yannick Jadoul authored
* 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
-
- 31 Dec, 2020 1 commit
-
-
Eric Cousineau authored
* enum: Add Enum.value property * simplify * address review
-
- 28 Dec, 2020 1 commit
-
-
Qifan Lu authored
* 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`
-
- 24 Dec, 2020 1 commit
-
-
Yannick Jadoul authored
* 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
-
- 19 Dec, 2020 1 commit
-
-
Ralf W. Grosse-Kunstleve authored
* 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>
-
- 16 Dec, 2020 2 commits
-
-
Yannick Jadoul authored
fix: also throw in the move-constructor added by the PYBIND11_OBJECT macro, after the argument has been moved-out (if necessary) (#2701)
-
Laramie Leavitt authored
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.
-
- 19 Nov, 2020 1 commit
-
-
nickbridgechess authored
* Added test_thread testing for ostream_redirect segfault recreation * fix: scoped_ostream_redirect str created outside gil * Moved threading tests into test_iostream. Cleaned up some formatting. Deleted test_thread.{cpp,py} * CI: few formatting fixes * CI: yet another formatting fix * CI: more formatting fixes. Removed unecessary comment * Ignore 'warning C4702: unreachable code' in MSVC 2015 Co-authored-by:Nick Bridge <nick.bridge.chess@gmail.com> Co-authored-by:
Nick Bridge <nbridge@jumptrading.com> Co-authored-by:
Yannick Jadoul <yannick.jadoul@belgacom.net>
-
- 10 Nov, 2020 1 commit
-
-
Yannick Jadoul authored
* Add argument names to enum_ methods * Add test_enum::test_docstring_signatures
-
- 09 Nov, 2020 1 commit
-
-
Robert Haschke authored
* style: clang-tidy: modernize-use-using * style: more clang-tidy checking Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
- 05 Nov, 2020 1 commit
-
-
Boris Staletic authored
-
- 29 Oct, 2020 2 commits
-
-
Henry Schreiner authored
-
Ralf W. Grosse-Kunstleve authored
* Adding missing virtual destructors, to silence clang -Wnon-virtual-dtor warnings. Tested with clang version 9.0.1-12 under an Ubuntu-like OS. Originally discovered in the Google-internal environment. * adding -Wnon-virtual-dtor for GNU|Intel|Clang
-
- 27 Oct, 2020 1 commit
-
-
Yannick Jadoul authored
* Add __builtins__ to globals argument of `py::exec` and `py::eval` if not present * Refactor into inline ensure_builtins_in_globals function
-
- 20 Oct, 2020 1 commit
-
-
Mana Borwornpadungkitti authored
* demo kwarg with none(false) * Reorder and extend tests for arg::none(false) in test_methods_and_attributes.py::test_accepts_none * Fix arg::none() for keyword arguments * Add changelog note * Fix names of no_none_kw test functions Co-authored-by:Yannick Jadoul <yannick.jadoul@belgacom.net>
-
- 19 Oct, 2020 1 commit
-
-
Eric Cousineau authored
* tests/CMakeLists: Robustify against add'l versions of Boost * refactor: simpler impl Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
- 16 Oct, 2020 2 commits
-
-
Yannick Jadoul authored
* Demonstrate test_factory_constructors.py failure without functional changes from #2335 * Revert "Demonstrate test_factory_constructors.py failure without functional changes from #2335" This reverts commit ca33a8021fc2a3617c3356b188796528f4594419. * Fix test crash where registered Python type gets garbage collected * Clean up some more internal structures when class objects go out of scope * Reduce length of std::erase_if-in-C++20 comment * Clean up code for cleaning up type internals * Move cleaning up of type info in internals to tp_dealloc on pybind11_metaclass
-
Henry Schreiner authored
* style: use Black everywhere * style: minor touchup from review
-
- 15 Oct, 2020 3 commits
-
-
Henry Schreiner authored
-
Henry Schreiner authored
-
Henry Schreiner authored
-
- 14 Oct, 2020 1 commit
-
-
Henry Schreiner authored
* feat: basic typing support * docs: mention syncing as suggested by @rwgk * docs: update changelog * docs: copy of warning in limitations
-
- 13 Oct, 2020 1 commit
-
-
Yannick Jadoul authored
* Throw error_already_set in py::len on failing PyObject_Length * Fix tests to mach error message on PyPy
-
- 12 Oct, 2020 1 commit
-
-
Henry Schreiner authored
* fix: Intel 18+ fully supported * fix: Intel compiler workaround no longer needed Followup on #94 now that Intel 18+ is required.
-
- 09 Oct, 2020 1 commit
-
-
Yannick Jadoul authored
* Deprecated public constructors of module * Turn documentation comment of module_::add_object into valid doxygen documentation * Move definition of PYBIND11_DETAIL_MODULE_STATIC_DEF and PYBIND11_DETAIL_MODULE_CREATE macros up * Move detail::create_top_level_module to module_::create_extension_module, and unify Python 2 and 3 signature again * Throw error_already_set if module creation fails in module_::create_extension_module * Mention module_::create_extension_module in deprecation warning message of module_::module_
-
- 08 Oct, 2020 2 commits
-
-
Yannick Jadoul authored
* Check scope's __dict__ instead of using hasattr when registering classes and exceptions, to allow registering the same name in a derived class scope * Extend test_base_and_derived_nested_scope test * Add tests on error being thrown registering duplicate classes * Circumvent bug with combination of test_class.py::test_register_duplicate_class and test_factory_constructors.py::test_init_factory_alias
-
Henry Schreiner authored
* tests: Don't run tests that often segfault * tests: drop all cross module gil tests * tests: try skipping all macOS Python 3.9 tests * tests: drop macOS Python 3.9
-
- 06 Oct, 2020 1 commit
-
-
Henry Schreiner authored
* feat: add a priority overload with py::prepend * doc: fix wording as suggested by rwgk * feat: add get_pointer * refactor: is_prepended -> prepend (internal) * docs: suggestion from @wjakob * tests: add test covering get_pointer/set_pointer
-
- 05 Oct, 2020 2 commits
-
-
Yannick Jadoul authored
Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro (#2349) * Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro * Split off test_non_converting_constructors from test_constructors * Fix test_as_type, as py::type constructor now throws an error itself if the argument is not a type * Replace tp_name access by pybind11::detail::get_fully_qualified_tp_name * Move forward-declaration of get_fully_qualified_tp_name to detail/common.h * Don't add the builtins module name in get_fully_qualified_tp_name for PyPy * Add PYBIND11_BUILTINS_MODULE macro, and use it in get_fully_qualified_tp_name
-
Yannick Jadoul authored
* Remove code inside 'PYPY_VERSION_NUM < 0x06000000' preprocessor if branch * fix: more cleanup * Remove more references to PyPy 5.7 and 5.9 in the docs * Update comment on PyUnicode_UTF* in PyPy Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
- 03 Oct, 2020 3 commits
-
-
Fritz Reese authored
* tests: New test for ctypes buffers (pybind#2502) * fix: fix buffer_info segfault on views with no stride (pybind11#2502) * Explicit conversions in buffer_info to make clang happy (pybind#2502) * Another explicit cast in buffer_info constructor for clang (pybind#2502) * Simpler implementation of buffer_info constructor from Py_buffer. * Move test_ctypes_buffer into test_buffers * Comment on why view->strides may be NULL (and fix some whitespace) * Use c_strides() instead of zero when view->strides is NULL. c_strides and f_strides are moved from numpy.h (py::array) to buffer_info.h (py::detail) so they can be used from the buffer_info Py_buffer constructor. * Increase ctypes buffer test coverage in test_buffers. * Split ctypes tests and skip one which is broken in PyPy2.
-
Henry Schreiner authored
* WIP: module -> module_ without typedef * refactor: allow py::module to work again
-
Henry Schreiner authored
* feat: import check as a common function * docs: add cmake to docs
-
- 02 Oct, 2020 6 commits
-
-
Yannick Jadoul authored
* Allow function/functor passed to py::vectorize to return void * Stealing @sizmailov's test and fixing unused argument warning * Add missing std::move() RVO doesn't work here because function return type is different from actual returned type * remove extra EOL * docs: add a few details * chore: pre-commit autoupdate * Remove array_iterator, array_begin, and array_end (in detail namespace) Co-authored-by:
Sergei Izmailov <sergei.a.izmailov@gmail.com> Co-authored-by:
Henry Schreiner <henryschreineriii@gmail.com>
-
Yannick Jadoul authored
Add unchecked_reference::operator() and operator[] to overload resolution of unchecked_mutable_reference (#2514)
-
Riyaz Haque authored
* Add tests demonstrating the problem with deregistering pybind11 instances * Fix deregistering of different pybind11 instance from internals Co-authored-by:
Yannick Jadoul <yannick.jadoul@belgacom.net> Co-authored-by:
Blistic <wots_wot@hotmail.com>
-
Henry Schreiner authored
-
Boris Staletic authored
Co-authored-by:Henry Schreiner <HenrySchreinerIII@gmail.com>
-
Yannick Jadoul authored
Moving tp_class access, and consistent fully-qualified naming for PyPy, to detail::get_tp_name (#2520) * Moving tp_class access, and consistent fully-qualified naming for PyPy, to detail::get_tp_name * Change get_tp_name to get_fully_qualified_tp_name
-
- 22 Sep, 2020 1 commit
-
-
Eric Cousineau authored
-