Skip to content

fix: add py::mod_gil_used() spelling, support pedantic tests - #5797

Merged
henryiii merged 12 commits into
pybind:masterfrom
henryiii:henryiii/fix/sizewarn
Jul 29, 2026
Merged

fix: add py::mod_gil_used() spelling, support pedantic tests#5797
henryiii merged 12 commits into
pybind:masterfrom
henryiii:henryiii/fix/sizewarn

Conversation

@henryiii

@henryiiihenryiii commented Aug 15, 2025

Copy link
Copy Markdown
Collaborator

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:

  • Add py::mod_gil_used() as replacement spelling to py::mod_gil_not_used(false).

📚 Documentation preview 📚: https://pybind11--5797.org.readthedocs.build/

@henryiii
henryiiiforce-pushed the henryiii/fix/sizewarn branch 5 times, most recently from f5942e0 to 918fb72CompareAugust 20, 2025 04:55
@henryiiihenryiii changed the title tests: add linking warnings/errorchore: pass pedantic warnings enabledAug 20, 2025
@henryiiihenryiii changed the title chore: pass pedantic warnings enabledtests: pass pedantic warnings enabledAug 20, 2025
@henryiiihenryiii changed the title tests: pass pedantic warnings enabledfix: add py::mod_gil_used() spellingAug 21, 2025
@henryiiihenryiii changed the title fix: add py::mod_gil_used() spellingfix: add py::mod_gil_used() spelling, support pedantic testsAug 21, 2025
@henryiiihenryiii mentioned this pull request Aug 21, 2025
Comment threadinclude/pybind11/pybind11.h Outdated
@henryiii
henryiiiforce-pushed the henryiii/fix/sizewarn branch from 331a60e to cef0ea7CompareAugust 21, 2025 20:20
@henryiii
henryiii marked this pull request as ready for review August 21, 2025 20:37

@rwgkrwgk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks!

@henryiiihenryiii mentioned this pull request Aug 21, 2025
Comment threadtests/CMakeLists.txt Outdated
@henryiii
henryiiiforce-pushed the henryiii/fix/sizewarn branch from 4603cb8 to 40d5ea6CompareJuly 27, 2026 14:01
henryiiiand others added 12 commits July 29, 2026 13:51
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
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
@henryiii
henryiiiforce-pushed the henryiii/fix/sizewarn branch from 1d68626 to 03228f1CompareJuly 29, 2026 17:51
@henryiii
henryiii merged commit 652c694 into pybind:masterJul 29, 2026
78 checks passed
@henryiii
henryiii deleted the henryiii/fix/sizewarn branch July 29, 2026 18:53
@github-actionsgithub-actionsBot added the needs changelog Possibly needs a changelog entry label Jul 29, 2026
@henryiiihenryiii removed the needs changelog Possibly needs a changelog entry label Aug 3, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@henryiii@rwgk