fix: add py::mod_gil_used() spelling, support pedantic tests - #5797
Open
henryiii wants to merge 12 commits into
Open
fix: add py::mod_gil_used() spelling, support pedantic tests#5797henryiii wants to merge 12 commits into
henryiii wants to merge 12 commits into
Conversation
henryiii
force-pushed
the
henryiii/fix/sizewarn
branch
5 times, most recently
from
August 20, 2025 04:55
f5942e0 to
918fb72
Compare
rwgk
reviewed
Aug 21, 2025
henryiii
force-pushed
the
henryiii/fix/sizewarn
branch
from
August 21, 2025 20:20
331a60e to
cef0ea7
Compare
henryiii
marked this pull request as ready for review
August 21, 2025 20:37
Merged
henryiii
commented
Aug 21, 2025
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Keep the bool constructor public and mark it deprecated, so existing code that spells mod_gil_not_used(false) still compiles. mod_gil_used() now sets the flag through its friendship, which keeps the deprecated constructor the only bool overload and stops pybind11 warning against itself. Also use the py:: alias in exo_planet_pybind11.cpp to match its sibling home_planet_very_lonely_traveler.cpp. Assisted-by: ClaudeCode:claude-opus-5
henryiii
force-pushed
the
henryiii/fix/sizewarn
branch
from
July 27, 2026 14:01
4603cb8 to
40d5ea6
Compare
test_smart_ptr.cpp and standalone_enum_module.cpp came from master after this branch was written, so they still invoked variadic macros with no variadic argument. That is a pedantic error below C++20. Assisted-by: ClaudeCode:claude-opus-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Seeing if I can reproduce the warning-as-error in iminuit (scikit-hep/iminuit#1100). I seem to have failed, but at least we can pass pedantic now for earlier C++ versions. This was mostly working around the trailing comma issue that goes away in C++20.
I've added a new way to spell
py::mod_gil_not_used(false):py::mod_gil_used(). If we ever were to change the default (which might make sense if free-threading becomes default), it would be good to have a (nice) way to specify the previous behavior.Suggested changelog entry:
py::mod_gil_used()as replacement spelling topy::mod_gil_not_used(false).📚 Documentation preview 📚: https://pybind11--5797.org.readthedocs.build/