Skip to content

Commit e02fe00

Browse files
authored
fix(smart_holder): Use std::default_delete. (#4924)
Ensures `std::default_delete<T>` is used to look up the deleter for a type instead of `delete` directly.
1 parent edfaaed commit e02fe00

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/pybind11/detail/smart_holder_poc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ struct guarded_delete {
103103

104104
template <typename T, typename std::enable_if<std::is_destructible<T>::value, int>::type = 0>
105105
inline void builtin_delete_if_destructible(void *raw_ptr) {
106-
delete static_cast<T *>(raw_ptr);
106+
std::default_delete<T>{}(static_cast<T *>(raw_ptr));
107107
}
108108

109109
template <typename T, typename std::enable_if<!std::is_destructible<T>::value, int>::type = 0>

0 commit comments

Comments
 (0)