feat: move internals.h, exception_translation.h, and pybind11_fail out of line

The internals accessor family (get_internals, ensure_internals, the
local-internals key and capsules, exception translators) moves into
internals-inl.h; per-module identity is unchanged because the
function-local statics move with their functions into whatever binary
each module links. Also adds common-inl.h (pybind11_fail) and
exception_translation-inl.h. Tiny hot accessors and all templates stay
in the headers.

Assisted-by: ClaudeCode:claude-fable-5
This commit is contained in:
Henry Schreiner
2026-08-17 00:50:35 -04:00
committed by Henry Schreiner
parent d495d3e047
commit a70e3e1ba2
11 changed files with 394 additions and 265 deletions
+4
View File
@@ -84,6 +84,7 @@ detail_headers = {
"include/pybind11/detail/argument_vector.h",
"include/pybind11/detail/class-inl.h",
"include/pybind11/detail/class.h",
"include/pybind11/detail/common-inl.h",
"include/pybind11/detail/common.h",
"include/pybind11/detail/cpp_conduit.h",
"include/pybind11/detail/descr.h",
@@ -102,6 +103,7 @@ detail_headers = {
"include/pybind11/detail/typeid.h",
"include/pybind11/detail/using_smart_holder.h",
"include/pybind11/detail/value_and_holder.h",
"include/pybind11/detail/exception_translation-inl.h",
"include/pybind11/detail/exception_translation.h",
}
@@ -132,6 +134,8 @@ pkgconfig_files = {
sdist_src_files = {
"src/class.cpp",
"src/common.cpp",
"src/exception_translation.cpp",
"src/internals.cpp",
"src/type_caster_base.cpp",
"src/pybind11_combined.cpp",