Commit Graph

2258 Commits

Author SHA1 Message Date
Yannick Jadoul 3a37d33830
Add __builtins__ to globals argument of `py::exec` and `py::eval` if not present (#2616)
* Add __builtins__ to globals argument of `py::exec` and `py::eval` if not present

* Refactor into inline ensure_builtins_in_globals function
2020-10-27 19:58:27 +01:00
Henry Schreiner ace4deb4f0
ci: add more jobs (#2610)
* ci: add more jobs

* ci: minor trimdown
2020-10-22 22:34:44 -04:00
Henry Schreiner 4d037439ba
fix: missing identifier for Python 3.9 2020-10-21 16:21:44 -04:00
Wink Saville 7c26c71835
Fix mispelling in basics.rst (#2614)
Replaced adviced with advised.
2020-10-21 20:11:34 +02:00
Wenzel Jakob 86d3e9eb43 begin working towards a future v2.6.1 patch release 2020-10-21 18:31:10 +02:00
Wenzel Jakob 59a2ac2745 v2.6.0 release 2020-10-21 18:07:48 +02:00
Boris Staletic 4038542b15
Remove friend declaration of py::class_ in py::detail::generic_type (#2613)
This line had two bugs:

1. It declares `py::detail::class_` as `friend`.
2. After fixing that, we would have to change it to
   `template <typename, typename...>`

The first one was introduced ~5 years ago, when a large refactoring was
made, probably as an intermediate step during refactoring.

The second was made when `generic_type` was made to be agnostic with
respect to the order of `py::class_` template parameters.

&nbsp;

We're removing the declaration altogether, because it was never relied
on. This is what makes me think that it was an intermediate step in
refactoring that shouldn't have ended up in commit history.
2020-10-21 13:14:56 +02:00
Mana Borwornpadungkitti 6edd0e6d90
fix: Reject keyword argument `None` with `.none(false)` (#2611)
* 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>
2020-10-20 23:57:22 +02:00
Wenzel Jakob 7f9445a626 Thanks, Google! 2020-10-20 21:14:40 +02:00
Wenzel Jakob 2bc62dc8c9 updated credits 2020-10-20 16:56:02 +02:00
Henry Schreiner 120e2e2167
docs: tiny typo 2020-10-18 22:40:19 -04:00
Eric Cousineau c513b5e3c6
tests(CMakeLists): robustify against add'l versions of Boost (#2608)
* tests/CMakeLists: Robustify against add'l versions of Boost

* refactor: simpler impl

Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2020-10-18 20:42:48 -04:00
Henry Schreiner 0b9acc4009
fix: chapters in PDF again (#2606)
* fix: chapters in PDF again

* fix: sections in README
2020-10-18 14:31:28 -04:00
Dariusz Suchojad bed9080c7f
docs: Updated the link to the PDF docs (#2603) (#2605) 2020-10-18 12:51:36 +02:00
Henry Schreiner 09056717da
fix: much better pdf (#2604)
* docs: fix PDF build by adding unicode mappings

* fix: better PDF

* fix: html build issue
2020-10-18 00:21:16 -04:00
Henry Schreiner c16da99309 chore: bump to 2.6.0rc3 2020-10-16 17:34:53 -04:00
Henry Schreiner 064362fbb7
fix: allow the ABI string to be forced (#2602) 2020-10-16 17:23:36 -04:00
Yannick Jadoul 6364b732e9
fix: test_factory_constructors.py failure triggered by test_register_duplicate_class (#2564)
* 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
2020-10-16 16:38:51 -04:00
Henry Schreiner c50f90eca6
style: use Black everywhere (#2594)
* style: use Black everywhere

* style: minor touchup from review
2020-10-16 16:38:13 -04:00
Henry Schreiner 2e31e466dc docs: update for PyPy win 32 issue 2020-10-15 17:38:49 -04:00
Henry Schreiner 8ae11fbf88 ci: add more runs 2020-10-15 17:38:49 -04:00
Henry Schreiner a42211536b fix: new line in PYPY_VERSION 2020-10-15 17:38:49 -04:00
Henry Schreiner ad2fe0ee7b fix: pypy3 windows extension issue 2020-10-15 17:38:49 -04:00
Henry Schreiner 6bb71c48d5 fix: more intp asserts, reinterpret_cast 2020-10-15 17:38:49 -04:00
Henry Schreiner 9ac604a3e8 fix: PyPy windows issue 2020-10-15 17:38:49 -04:00
Henry Schreiner b72c79f964 fix: std::is_pod -> pybind11::detail::is_pod 2020-10-15 17:38:49 -04:00
Henry Schreiner f200832534 style: ssize_t -> py::ssize_t 2020-10-15 17:38:49 -04:00
Henry Schreiner 63f2deea32 chore: update Eigen 2020-10-15 17:38:49 -04:00
Henry Schreiner c4a8b5bb91 chore: bump to 2.6.0rc2 2020-10-14 16:37:25 -04:00
Yannick Jadoul 493649f965
fix: valgrind-detected after-freeing access of PyMethodDef (macOS Python 3.9.0 segfaults) (#2576)
* Check if valgrind-detected after-freeing access of PyMethodDef causes macOS Python 3.9 segfaults

* fix: only apply leak on 3.9.0

* fix: faster check

* fix: better naming thanks to @bstaletic

Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2020-10-14 14:11:09 -04:00
Henry Schreiner 645d83813b
feat: typing support for helpers (#2588)
* feat: basic typing support

* docs: mention syncing as suggested by @rwgk

* docs: update changelog

* docs: copy of warning in limitations
2020-10-14 14:08:41 -04:00
Henry Schreiner a8c2e3eec5
fix: ipo should be off for debug or relwithdebinfo (#2590)
* fix: ipo should be off for debug or relwithdebinfo

Closes #2587

* docs: slightly more detailed about IPO

* Update pybind11Common.cmake
2020-10-14 13:43:31 -04:00
Valentin Boettcher 3be085d194
docs: typo prefix -> suffix (#2593) 2020-10-14 11:32:26 -04:00
Henry Schreiner 526a7733c7
ci: merged labels still missing 2020-10-13 19:59:51 -04:00
Jay Soffian 01453b05c4
fix (setup_helpers): fix bug in _add_lflags (#2586)
Fix minor bug in `_add_lflags` that allows a flag to be added more than once.
2020-10-13 18:20:10 -04:00
Henry Schreiner 2a263e087c
docs: some final 2.6.0 updates (#2582)
* docs: some final 2.6.0 updates

* docs: better warning text
2020-10-13 18:19:05 -04:00
Henry Schreiner c99d7f1cc7
docs: PR template (#2580) 2020-10-13 13:09:40 -04:00
Henry Schreiner edda89ba68
fix: install to DATAROOTDIR instead of hardcoding share (#2584)
Closes #2571; this is defined to share, and unlike DATADIR, is not sometimes overwritten incorrectly for storing CMake files.
2020-10-13 13:08:54 -04:00
Henry Schreiner 7c71dd3861 ci: inverted labeler logic 2020-10-12 23:04:24 -04:00
Yannick Jadoul 99773fc5f6
fix: throw error_already_set in py::len on failing PyObject_Length (#2575)
* Throw error_already_set in py::len on failing PyObject_Length

* Fix tests to mach error message on PyPy
2020-10-12 23:00:54 -04:00
Henry Schreiner 2f746eeeb4 ci: original labeler 2020-10-12 22:35:23 -04:00
Yannick Jadoul 1914b7d3a7
Shorten PYBIND11_EMBEDDED_MODULE macro implementation by using PYBIND11_CATCH_INIT_EXCEPTIONS (#2579) 2020-10-12 23:10:18 +02:00
Henry Schreiner ae2e5a368c
ci: try to get labeler to add needs changelog 2020-10-12 17:03:26 -04:00
Henry Schreiner 993495c96c
fix: Intel 18+ required (#2577)
* fix: Intel 18+ fully supported

* fix: Intel compiler workaround no longer needed

Followup on #94 now that Intel 18+ is required.
2020-10-12 16:31:44 -04:00
Henry Schreiner 4f45052d4c
ci: fix ci label 2020-10-11 23:43:00 -04:00
Henry Schreiner cd2c25a2bf
ci: adjust labeler match pattern 2020-10-11 20:41:11 -04:00
Henry Schreiner 7d7309b814
ci: monitor dependencies 2020-10-10 22:43:05 -04:00
Henry Schreiner d46f3322a4
fix: allow cmake varibles from Python calls to be cached (#2570) 2020-10-09 17:33:45 -04:00
Henry Schreiner fecef38864
refactor: simpler followup to #2569 (#2572) 2020-10-09 17:12:05 -04:00
Henry Schreiner c02f0ec607 fix: formatting issue 2020-10-09 16:51:23 -04:00