@@ -261,7 +261,7 @@ namespace detail
261261
262262 // Handle non-member pointers
263263 template <class D , class Policies >
264- inline object make_setter (D* p, Policies const & policies, int )
264+ inline object make_setter (D* p, Policies const & policies, mpl::false_, int )
265265 {
266266 return objects::function_object (
267267 objects::py_function (
@@ -275,7 +275,7 @@ namespace detail
275275
276276 // Handle pointers-to-members
277277 template <class C , class D , class Policies >
278- inline object make_setter (D C::*pm, Policies const & policies, int )
278+ inline object make_setter (D C::*pm, Policies const & policies, mpl::true_, int )
279279 {
280280 return objects::function_object (
281281 objects::py_function (
@@ -289,9 +289,9 @@ namespace detail
289289
290290 // Handle references
291291 template <class D , class Policies >
292- inline object make_setter (D& x, Policies const & policies, ...)
292+ inline object make_setter (D& x, Policies const & policies, mpl::false_, ...)
293293 {
294- return detail::make_setter (&x, policies, 0L );
294+ return detail::make_setter (&x, policies, mpl::false_ (), 0L );
295295 }
296296}
297297
@@ -340,13 +340,13 @@ inline object make_getter(D const& d)
340340template <class D , class Policies >
341341inline object make_setter (D& x, Policies const & policies)
342342{
343- return detail::make_setter (x, policies, 0 );
343+ return detail::make_setter (x, policies, is_member_pointer<D>(), 0 );
344344}
345345
346346template <class D , class Policies >
347347inline object make_setter (D const & x, Policies const & policies)
348348{
349- return detail::make_setter (x, policies, 0 );
349+ return detail::make_setter (x, policies, is_member_pointer<D>(), 0 );
350350}
351351
352352template <class D >
0 commit comments