is_move_constructible simplification
diff --git a/include/pybind11/common.h b/include/pybind11/common.h
index 0ee2dab..aba804f 100644
--- a/include/pybind11/common.h
+++ b/include/pybind11/common.h
@@ -294,7 +294,7 @@
 };
 
 template <typename T>  struct is_move_constructible {
-    template <typename T2> static std::true_type test(decltype(new T2(std::declval<typename std::add_rvalue_reference<T2>::type>())) *);
+    template <typename T2> static std::true_type test(decltype(new T2(std::declval<T2>())) *);
     template <typename T2> static std::false_type test(...);
     static const bool value = std::is_same<std::true_type, decltype(test<T>(nullptr))>::value;
 };