1. Dec 29, 2020
  2. Dec 28, 2020
  3. Dec 24, 2020
    • Yannick Jadoul's avatar
      tests: update pytest 6.2.1 and fix test_python_alreadyset_in_destructor (#2741) · 830f8eda
      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
      830f8eda
    • Steve Siano's avatar
      docs: add a note about compiling the example (#2737) · 6f66e760
      Steve Siano authored
      * 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
      6f66e760
    • Eric Cousineau's avatar
  4. Dec 22, 2020
  5. Dec 20, 2020
  6. Dec 19, 2020
  7. Dec 16, 2020
    • Yannick Jadoul's avatar
      fix: also throw in the move-constructor added by the PYBIND11_OBJECT macro,... · 30eb39ed
      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)
      
      30eb39ed
    • Robert Haschke's avatar
      style: remove redundant instance->owned = true (#2723) · d9fa7056
      Robert Haschke authored
      which was just before set to True in instance->allocate_layout()
      d9fa7056
    • Henry Schreiner's avatar
      fix: regression with installed pybind11 overriding local one (#2716) · ffb113d1
      Henry Schreiner authored
      * fix: regression with installed pybind11 overriding discovered one
      
      Closes #2709
      
      * docs: wording incorrect
      ffb113d1
    • Henry Schreiner's avatar
      ci: drop pypy2 linux, PGI 20.7, add Python 10 dev (#2724) · 499fcd54
      Henry Schreiner authored
      * ci: drop pypy2 linux, add Python 10 dev
      
      * ci: fix mistake
      
      * ci: commented-out PGI 20.11, drop 20.7
      499fcd54
    • Laramie Leavitt's avatar
      Adjusting `type_caster<std::reference_wrapper<T>>` to support const/non-const... · 5469c238
      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.
      5469c238
  8. Dec 09, 2020
  9. Nov 25, 2020
  10. Nov 24, 2020
  11. Nov 23, 2020
  12. Nov 19, 2020
  13. Nov 16, 2020
  14. Nov 13, 2020
  15. Nov 12, 2020
  16. Nov 11, 2020
  17. Nov 10, 2020
  18. Nov 06, 2020
  19. Nov 04, 2020
  20. Nov 03, 2020