Skip to content

Commit 1d83b6f

Browse files
committed
Add static_assert in method_adaptor to guard that T is a member function pointer.
Suggested by @Skylion007 in PR #5992 review comment [T007]. Made-with: Cursor
1 parent d80bfd9 commit 1d83b6f

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

include/pybind11/pybind11.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2049,6 +2049,10 @@ template <typename Derived,
20492049
typename T,
20502050
typename Adapted = typename detail::rebind_member_ptr<Derived, T>::type>
20512051
constexpr Adapted method_adaptor(T pmf) {
2052+
// Expected to be redundant (SFINAE on rebind_member_ptr) but cheap and makes the intent
2053+
// explicit.
2054+
static_assert(std::is_member_function_pointer<T>::value,
2055+
"method_adaptor: T must be a member function pointer");
20522056
return detail::adapt_member_ptr<Derived>(pmf);
20532057
}
20542058

0 commit comments

Comments
 (0)