@@ -48,15 +48,18 @@ class type_caster : public type_caster_for_class_<type> {};
48
48
#ifdef PYBIND11_TYPE_CASTER_ODR_GUARD_ON
49
49
50
50
template <typename type>
51
- using make_caster = type_caster_odr_guard<intrinsic_t < type> , type_caster<intrinsic_t < type> >>;
51
+ using make_caster_intrinsic = type_caster_odr_guard<type, type_caster<type>>;
52
52
53
53
#else
54
54
55
55
template <typename type>
56
- using make_caster = type_caster<intrinsic_t < type> >;
56
+ using make_caster_intrinsic = type_caster<type>;
57
57
58
58
#endif
59
59
60
+ template <typename type>
61
+ using make_caster = make_caster_intrinsic<intrinsic_t <type>>;
62
+
60
63
template <typename T>
61
64
struct type_uses_smart_holder_type_caster {
62
65
static constexpr bool value
@@ -1077,7 +1080,7 @@ struct return_value_policy_override<
1077
1080
1078
1081
// Basic python -> C++ casting; throws if casting fails
1079
1082
template <typename T>
1080
- make_caster <T> &load_type (make_caster <T> &conv, const handle &handle) {
1083
+ make_caster_intrinsic <T> &load_type (make_caster_intrinsic <T> &conv, const handle &handle) {
1081
1084
static_assert (!detail::is_pyobject<T>::value,
1082
1085
" Internal error: type_caster should only be used for C++ types" );
1083
1086
if (!conv.load (handle, true )) {
@@ -1097,7 +1100,7 @@ template <typename T>
1097
1100
make_caster<T> load_type (const handle &handle) {
1098
1101
PYBIND11_DETAIL_TYPE_CASTER_ACCESS_TRANSLATION_UNIT_LOCAL (T)
1099
1102
make_caster<T> conv;
1100
- load_type<T> (conv, handle);
1103
+ load_type (conv, handle);
1101
1104
return conv;
1102
1105
}
1103
1106
@@ -1235,7 +1238,7 @@ template <typename T>
1235
1238
enable_if_t <cast_is_temporary_value_reference<T>::value, T> cast_ref (object &&o,
1236
1239
make_caster<T> &caster) {
1237
1240
PYBIND11_DETAIL_TYPE_CASTER_ACCESS_TRANSLATION_UNIT_LOCAL (T)
1238
- return cast_op<T>(load_type<T> (caster, o));
1241
+ return cast_op<T>(load_type (caster, o));
1239
1242
}
1240
1243
template <typename T>
1241
1244
enable_if_t <!cast_is_temporary_value_reference<T>::value, T> cast_ref (object &&,
0 commit comments