Index: mojo/public/cpp/bindings/lib/template_util.h |
diff --git a/mojo/public/cpp/bindings/lib/template_util.h b/mojo/public/cpp/bindings/lib/template_util.h |
index 34011cf4b90b10068b6ceb6f723c5c9ed0ba77bd..bcd88b3adf18dd7c9e69d3ef0f480167cf78e6db 100644 |
--- a/mojo/public/cpp/bindings/lib/template_util.h |
+++ b/mojo/public/cpp/bindings/lib/template_util.h |
@@ -7,6 +7,8 @@ |
#include <type_traits> |
+#include "base/template_util.h" |
+ |
namespace mojo { |
namespace internal { |
@@ -52,14 +54,8 @@ struct NoType { |
// destructive way. |
template <typename T> |
struct IsMoveOnlyType { |
- template <typename U> |
- static YesType Test(const typename U::MoveOnlyTypeForCPP03*); |
- |
- template <typename U> |
- static NoType Test(...); |
- |
- static const bool value = |
- sizeof(Test<T>(0)) == sizeof(YesType) && !IsConst<T>::value; |
+ static const bool value =base::is_move_assignable<T>::value && |
Nico
2016/06/06 18:21:53
i suppose this is clang-format getting this wrong?
dcheng
2016/06/06 18:26:42
Oops, this is me forgetting to upload the clang fo
|
+ !base::is_copy_assignable<T>::value; |
}; |
// This goop is a trick used to implement a template that can be used to |