Aaron Gokaslan
b90bd783f0
Add noexcept move and explicit fail throw
2022-02-22 11:10:10 -05:00
Aaron Gokaslan
f8d3ed22bf
Remove unnecessary initialization
2022-02-20 15:01:57 -05:00
Aaron Gokaslan
225dbae67e
Reviewer suggestions
2022-02-20 12:40:27 -05:00
Aaron Gokaslan
bdcd95aa73
Does reverting this fix PyPy
2022-02-16 14:46:16 -05:00
Aaron Gokaslan
df6cb30112
One last try for PGI
2022-02-15 13:02:44 -05:00
Aaron Gokaslan
d231f15996
Try to debug PGI
2022-02-15 12:16:18 -05:00
Aaron Gokaslan
63dfbb436e
Merge branch 'master' of https://github.com/pybind/pybind11 into lazy-error-string
2022-02-15 11:30:26 -05:00
Aaron Gokaslan
91bf33f459
guard if m_type is null
2022-02-15 11:30:06 -05:00
Ralf W. Grosse-Kunstleve
a97e9d8cac
Dropping MSVC 2015 ( #3722 )
...
* Changing `_MSC_VER` guard to `< 1910` (dropping MSVC 2015).
* Removing MSVC 2015 from ci.yml, and .appveyor.yml entirely.
* Bringing back .appveyor.yml from master.
* appveyor Visual Studio 2017
* 1st manual pass, builds & tests with unix_clang, before pre-commit.
* After clang-format (via pre-commit).
* Manual pass looking for "2015", builds & tests with unix_clang, before pre-commit.
* Backtracking for include/pybind11 changes in previous commit.
git checkout d07865846c
include/pybind11/attr.h include/pybind11/detail/common.h include/pybind11/functional.h
--------------------
CI #4160 errors observed:
2a26873727
https://github.com/pybind/pybind11/runs/5168332130?check_suite_focus=true
$ grep ' error C' *.txt | sed 's/2022-02-12[^ ]*//' | sed 's/^[0-9][0-9]*//' | sed 's/^.*\.txt: //' | sort | uniqD:\a\pybind11\pybind11\include\pybind11\cast.h(1364,1): error C2752: 'pybind11::detail::type_caster<Eigen::Ref<Eigen::Vector3f,0,pybind11::EigenDStride>,void>': more than one partial specialization matches the template argument list [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\cross_module_gil_utils.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\pybind11_cross_module_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\test_embed\external_module.vcxproj]
D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
$ grep ': error C2737' *.txt | sed 's/^.*MSVC//' | sed 's/___.*//' | sort | uniq
_2017
$ grep ': error C2752' *.txt
3______3.8_____MSVC_2019_____x86_-DCMAKE_CXX_STANDARD=17.txt:2022-02-12T16:12:45.9921122Z D:\a\pybind11\pybind11\include\pybind11\cast.h(1364,1): error C2752: 'pybind11::detail::type_caster<Eigen::Ref<Eigen::Vector3f,0,pybind11::EigenDStride>,void>': more than one partial specialization matches the template argument list [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
$ grep ': fatal error C1001:' *.txt
10______pypy-3.8-v7.3.7_____windows-2022_____x64.txt:2022-02-12T16:12:56.3163683Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
1______3.6_____MSVC_2019_____x86.txt:2022-02-12T16:12:47.6774625Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
16______3.6_____windows-latest_____x64_-DPYBIND11_FINDPYTHON=ON.txt:2022-02-12T16:12:27.0556151Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
17______3.9_____windows-2019_____x64.txt:2022-02-12T16:12:30.3822566Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
2______3.7_____MSVC_2019_____x86.txt:2022-02-12T16:12:38.7018911Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
6______3.6_____windows-2022_____x64.txt:2022-02-12T16:12:00.4513642Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
7______3.9_____windows-2022_____x64.txt:2022-02-12T16:11:43.6306160Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
8______3.10_____windows-2022_____x64.txt:2022-02-12T16:11:49.9589644Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
9______pypy-3.7-v7.3.7_____windows-2022_____x64.txt:2022-02-12T16:11:53.7912112Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
* common.h: is_template_base_of
* Re-applying 4 changes from 2a26873727
that work universally.
* `overload_cast = {};` only for MSVC 2017 and Clang 5
* Refining condition for using is_template_base_of workaround.
* Undoing MSVC 2015 workaround in test_constants_and_functions.cpp
* CentOS7: silence_unused_warnings
* Tweaks in response to reviews.
* Adding windows-2022 C++20
* Trying another way of adding windows-2022 C++20
2022-02-14 11:36:22 -08:00
Aaron Gokaslan
68b349a234
Trying setting the tracebackk to the value
2022-02-14 12:24:44 -05:00
Aaron Gokaslan
2c5ad0bf9d
Do not run error_string() more than once
2022-02-14 11:49:26 -05:00
Aaron Gokaslan
6d0354b945
Fix remove set error string
2022-02-13 15:34:49 -05:00
Aaron Gokaslan
b09f14d488
Does build_mode release fix it
2022-02-13 14:46:41 -05:00
Aaron Gokaslan
244aa5262b
Try removing mutable
2022-02-13 14:18:45 -05:00
Aaron Gokaslan
648e6703dd
Fix clang-tidy
2022-02-13 13:38:11 -05:00
Aaron Gokaslan
00e48523b2
Revert back if statements
2022-02-13 13:36:04 -05:00
Aaron Gokaslan
95eeaefd1e
Improve error message in rare case
2022-02-13 13:30:16 -05:00
Aaron Gokaslan
ff3185ea7d
Improve formatting
2022-02-13 13:25:38 -05:00
Aaron Gokaslan
a6923626c0
Fix more merge errors
2022-02-13 13:23:40 -05:00
Aaron Gokaslan
dbb3e6bf8a
Fix merge bugs
2022-02-13 13:16:35 -05:00
Aaron Gokaslan
9635e884ab
Merge branch 'master' of https://github.com/pybind/pybind11 into lazy-error-string
2022-02-13 13:11:25 -05:00
Henry Schreiner
522c59ceb2
chore: drop Python 3.5 ( #3719 )
...
* chore: drop Python 3.5 support
* chore: more fstrings with flynt's help
* ci: drop Python 3.5
* chore: bump dependency versions
* docs: touch up py::args
* tests: remove deprecation warning
* Ban smartquotes
* Very minor tweaks (by-product of reviewing PR #3719 ).
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2022-02-11 19:06:16 -05:00
Ralf W. Grosse-Kunstleve
6493f496e3
Python 2 removal part 1: tests (C++ code is intentionally ~untouched) ( #3688 )
...
* `#error BYE_BYE_GOLDEN_SNAKE`
* Removing everything related to 2.7 from ci.yml
* Commenting-out Centos7
* Removing `PYTHON: 27` from .appveyor.yml
* "PY2" removal, mainly from tests. C++ code is not touched.
* Systematic removal of `u` prefix from `u"..."` and `u'...'` literals. Collateral cleanup of a couple minor other things.
* Cleaning up around case-insensitive hits for `[^a-z]py.*2` in tests/.
* Removing obsolete Python 2 mention in compiling.rst
* Proper `#error` for Python 2.
* Using PY_VERSION_HEX to guard `#error "PYTHON 2 IS NO LONGER SUPPORTED.`
* chore: bump pre-commit
* style: run pre-commit for pyupgrade 3+
* tests: use sys.version_info, not PY
* chore: more Python 2 removal
* Uncommenting Centos7 block (PR #3691 showed that it is working again).
* Update pre-commit hooks
* Fix pre-commit hook
* refactor: remove Python 2 from CMake
* refactor: remove Python 2 from setup code
* refactor: simplify, better static typing
* feat: fail with nice messages
* refactor: drop Python 2 C++ code
* docs: cleanup for Python 3
* revert: intree
revert: intree
* docs: minor touchup to py2 statement
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
2022-02-10 18:28:08 -08:00
Ralf W. Grosse-Kunstleve
ec24786eab
Fully-automatic clang-format with include reordering ( #3713 )
...
* chore: add clang-format
* Removing check-style (Classic check-style)
Ported from @henryiii's 53056b1b0e
* Automatic clang-format changes (NO manual changes).
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-02-10 12:17:07 -08:00
Ralf W. Grosse-Kunstleve
e96221beff
Final manual curation in preparation for global clang-format
ing ( #3712 )
...
* Manual line breaks to pre-empt undesired `clang-format`ing.
Informed by work under https://github.com/pybind/pybind11/pull/3683 :
60b7eb410f
59572e6559
* Manual curation of clang-format diffs involving source code comments.
Very labor-intensive and dull.
* Pulling .clang-format change from @henryiii's 9057962d40
* Adding commonly used .clang-format `CommentPragmas:`
* Ensure short lambdas are allowed
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
2022-02-10 11:42:03 -08:00
Aaron Gokaslan
d6c66d25bb
chore(clang-tidy): Add clang-tidy rules: prefer-member-initializer and optin.performance.Padding ( #3716 )
...
* Add clang-tidy prefer-member-initializer
* Fix clang-tdy config
* Fix incorrect change
* Fix sorting of .clang-tidy
2022-02-10 09:45:46 -08:00
Aaron Gokaslan
dc9803cef2
Add missing clang-tidy fixes ( #3715 )
2022-02-10 09:23:15 -08:00
Ralf W. Grosse-Kunstleve
abc38690dc
Manually applying two clang-format changes that need fix-ups for clang-tidy. ( #3705 )
2022-02-09 06:32:41 -08:00
Ralf W. Grosse-Kunstleve
7769e7719c
clang-tidy readability-qualified-auto ( #3702 )
...
* Adding readability-qualified-auto to .clang-tidy
Ported from @henryiii's 287527f705
* fix: support Python < 3.6
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-02-09 06:24:57 -08:00
Ralf W. Grosse-Kunstleve
b4f5350d0d
chore: use member initializer ( #3704 )
...
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
2022-02-08 22:08:31 -05:00
Ralf W. Grosse-Kunstleve
ddbc74c674
Adding .clang-tidy readability-braces-around-statements option.
...
clang-tidy automatic changes. NO manual changes.
2022-02-08 13:02:20 -08:00
Ralf W. Grosse-Kunstleve
8581584e60
Manual fix-ups in preparation for clang-tidy readability-braces-around-statements.
...
Informed by experiments under PR #3698 .
2022-02-08 13:02:20 -08:00
Henry Schreiner
af056b65d3
fix: __index__ on Enum should always be present. ( #3700 )
...
* chore: minor odd py version cleanup
* Update include/pybind11/pybind11.h
* fix: always make __index__ available
2022-02-08 11:47:30 -05:00
Aaron Gokaslan
1b84188330
Minor change to improve readability ( #3695 )
2022-02-07 15:29:25 -05:00
Henry Schreiner
36813cfa12
chore: back to work
2022-02-03 12:44:10 -05:00
Henry Schreiner
ffa346860b
chore: bump to 2.9.1
2022-02-02 17:34:15 -05:00
Ralf W. Grosse-Kunstleve
3899dc65b9
Documenting missing unit test coverage. ( #3673 )
2022-02-02 13:16:44 -08:00
Aaron Gokaslan
ce18721d83
Ensure TypeError use raise_from for C++->Python overload res. ( #3671 )
2022-01-31 15:13:05 -05:00
Aaron Gokaslan
978617f6b5
fix issue 3668 by removing bool casts in numpy.h ( #3669 )
2022-01-31 12:57:32 -05:00
Aaron Gokaslan
3a8d92308d
Fix caster optimization regression introduced in #3650 ( #3659 )
...
* Fix optimization bug introduced in #3650
* Add simple Python extension test for MVF
* Improve comments
* Clarify comment
* Clarify another comment
* Add test docstring
* Fix typo
2022-01-31 12:19:48 -05:00
Mattia Basaglia
07103d6570
Remove extra semicolon ( #3666 )
2022-01-29 14:44:48 -08:00
Dustin Spicuzza
ec81e8e778
Propagate py::multiple_inheritance to all children ( #3650 )
...
* Add tests demonstrating smart_holder issues with multiple inheritance
* Propagate C++ multiple inheritance markers to all children
- Makes py::multiple_inheritance only needed in base classes hidden from pybind11
2022-01-26 17:03:52 -08:00
Sergei Izmailov
5194855900
Render py::bool_
and py::float_
without _
in docstrings ( #3622 )
...
* Render `py::bool_` as `bool` in docstrings
* Render `py::float_` as `float` in docstrings
2022-01-16 07:05:46 -08:00
Aaron Gokaslan
d2ec836712
Add support for nested C++11 exceptions ( #3608 )
...
* Add support for nested C++11 exceptions
* Remove wrong include
* Fix if directive
* Fix missing skipif
* Simplify code and try to work around MSVC bug
* Clarify comment
* Further simplify code
* Remove the last extra throw statement
* Qualify auto
* Fix typo
* Add missing return for consistency
* Fix clang-tidy complaint
* Fix python2 stub
* Make clang-tidy happy
* Fix compile error
* Fix python2 function signature
* Extract C++20 utility and backport
* Cleanup code a bit more
* Improve test case
* Consolidate code and fix signature
* Fix typo
2022-01-14 14:22:47 -05:00
Aaron Gokaslan
d434b5f31e
(chore): Remove deprecated c-headers ( #3610 )
...
* Remove deprecated c-headers
* Update calls to old cfunctions
* Add missing one
* Add another missing one
2022-01-11 17:57:59 -05:00
Aaron Gokaslan
ef070f7750
Add additional info to TypeError when C++->Python casting fails ( #3605 )
...
* Add additional info to TypeInfo when C++->Python casting fails
* Fix typo
* Address reviewer comments
2022-01-10 21:18:00 -05:00
Ralf W. Grosse-Kunstleve
1bbaeb3462
Adding dedicated test_const_name. ( #3578 )
...
* Adding dedicated test_const_name.
Also exercises pybind11::detail::_ backward compatibility.
See also: PR #3423
* Backing out tests involving int_to_str (requires C++17 or higher).
* Suppressing clang-tidy errors.
* Disabling test_const_name for MSVC 2015 due to bizarre failures.
* Stacking @pytest.mark.parametrize (thanks to @skylion007 for pointing out).
2021-12-29 12:54:25 -08:00
Henry Schreiner
45f792efdd
chore: prepare for 2.9
2021-12-28 10:47:21 -05:00
Henry Schreiner
cb302305a3
fix: restore full range of _ functions ( #3571 )
2021-12-23 14:50:10 -05:00
Henry Schreiner
39fbc7992b
fix: avoiding usage of _ if already defined ( #3423 )
...
* fix: avoid usage of _
* ci: test _ defined
* docs: include change in docs
* fix: add a test and comment
* refactor: const_str -> const_name
2021-12-21 14:24:21 -05:00