Skip to content

feat: add semi-public API: pybind11::detail::is_holder_constructed #5669

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 19, 2025

Conversation

XuehaiPan
Copy link
Contributor

@XuehaiPan XuehaiPan commented May 18, 2025

Description

Split from #5654.

  • Add semi-public API: pybind11::detail::is_holder_constructed
  • Update example for pybind11::custom_type_setup in documentation

Suggested changelog entry:

Add semi-public API: pybind11::detail::is_holder_constructed and update example for pybind11::custom_type_setup in documentation

@rwgk
Copy link
Collaborator

rwgk commented May 18, 2025

Looks great, thanks, but did you see my suggestion to copy the updated code in the documentation to the existing tests/test_custom_type_setup.cpp?

@XuehaiPan
Copy link
Contributor Author

copy the updated code in the documentation to the existing tests/test_custom_type_setup.cpp

Done.

@henryiii henryiii merged commit 6bf25d1 into pybind:master May 19, 2025
73 checks passed
@github-actions github-actions bot added the needs changelog Possibly needs a changelog entry label May 19, 2025
@henryiii henryiii changed the title Add semi-public API: pybind11::detail::is_holder_constructed feat: add semi-public API: pybind11::detail::is_holder_constructed May 19, 2025
@XuehaiPan XuehaiPan deleted the is-holder-constructed branch May 19, 2025 06:41
henryiii added a commit that referenced this pull request May 19, 2025
* Squashed prepv300/manuscript — 30b9c26 — 2025-03-30 14:56:03 -0700 [skip ci]

[Browse prepv300/manuscript tree](https://github.com/rwgk/pybind11/tree/30b9c268aeb98308ea42aaccfd5fe454e173c6fc)

[Browse prepv300/manuscript commits](https://github.com/rwgk/pybind11/commits/30b9c268aeb98308ea42aaccfd5fe454e173c6fc/)

* docs: update changelog

Signed-off-by: Henry Schreiner <[email protected]>

* docs: upgrade guide CMake suggestions

Signed-off-by: Henry Schreiner <[email protected]>

* Explain type_caster_enum_type_enabled, copyable_holder_caster_shared_ptr_with_smart_holder_support_enabled, move_only_holder_caster_unique_ptr_with_smart_holder_support_enabled in Upgrade guide.

* Add a small section for py::bind_vector, py::bind_map & py::smart_holder

* Fix tiny oversight: Reference back to the current release v2.13 (not v2.12)

* Remove sentence: Using self._pybind11_conduit_v1_() ... should keep extension compatibility.

This isn't true, because we also modernized `PYBIND11_PLATFORM_ABI_ID`
(which I believe was absolutely necessary). I think it'll be too complicated
to explain that here, and there is a mention in the Upgrade guide.

* Changelog: combine #4953 and #5439

* Trivial whitespace/formatting fixes/enhancements.

* chore: add more to deprecation page

Signed-off-by: Henry Schreiner <[email protected]>

* docs: update for recent additions

Signed-off-by: Henry Schreiner <[email protected]>

* docs: fixes and set rc1 version

Signed-off-by: Henry Schreiner <[email protected]>

* fix: support rc versions

Signed-off-by: Henry Schreiner <[email protected]>

* Undo erroneous copilot change: We need to use `detail::enable_if_t`, for compatibility with C++11 and C++14.

* Empty lines cleanup.

* Rewording of "CMake support now defaults to ..." paragraph.

* Add missing backticks in upgrade guide.

* Try :ref:deprecated instead of :doc:deprecated

* docs: last bit of polish

Signed-off-by: Henry Schreiner <[email protected]>

* Piggy-back trivial whitespace cleanup that was missed in PR #5669

---------

Signed-off-by: Henry Schreiner <[email protected]>
Co-authored-by: Henry Schreiner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs changelog Possibly needs a changelog entry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants