@@ -21,7 +21,7 @@ class ArgInspector2 {
2121};
2222class ArgAlwaysConverts {};
2323
24- namespace pybind11 {
24+ namespace PYBIND11_NAMESPACE {
2525namespace detail {
2626template <>
2727struct type_caster <ArgInspector1> {
@@ -74,7 +74,7 @@ struct type_caster<ArgAlwaysConverts> {
7474 }
7575};
7676} // namespace detail
77- } // namespace pybind11
77+ } // namespace PYBIND11_NAMESPACE
7878
7979// test_custom_caster_destruction
8080class DestructionTester {
@@ -92,7 +92,7 @@ class DestructionTester {
9292 return *this ;
9393 }
9494};
95- namespace pybind11 {
95+ namespace PYBIND11_NAMESPACE {
9696namespace detail {
9797template <>
9898struct type_caster <DestructionTester> {
@@ -104,15 +104,15 @@ struct type_caster<DestructionTester> {
104104 }
105105};
106106} // namespace detail
107- } // namespace pybind11
107+ } // namespace PYBIND11_NAMESPACE
108108
109109// Define type caster outside of `pybind11::detail` and then alias it.
110110namespace other_lib {
111111struct MyType {};
112112// Corrupt `py` shorthand alias for surrounding context.
113113namespace py {}
114114// Corrupt unqualified relative `pybind11` namespace.
115- namespace pybind11 {}
115+ namespace PYBIND11_NAMESPACE {}
116116// Correct alias.
117117namespace py_ = ::pybind11;
118118// Define caster. This is effectively no-op, we only ensure it compiles and we
@@ -127,12 +127,12 @@ struct my_caster {
127127};
128128} // namespace other_lib
129129// Effectively "alias" it into correct namespace (via inheritance).
130- namespace pybind11 {
130+ namespace PYBIND11_NAMESPACE {
131131namespace detail {
132132template <>
133133struct type_caster <other_lib::MyType> : public other_lib::my_caster {};
134134} // namespace detail
135- } // namespace pybind11
135+ } // namespace PYBIND11_NAMESPACE
136136
137137TEST_SUBMODULE (custom_type_casters, m) {
138138 // test_custom_type_casters
0 commit comments