Index: tools/clang/rewrite_to_chrome_style/tests/function-templates-original.cc |
diff --git a/tools/clang/rewrite_to_chrome_style/tests/function-templates-original.cc b/tools/clang/rewrite_to_chrome_style/tests/function-templates-original.cc |
index 71267b0a88dfef0eae7bd3fdc4ca6e59dd5a4cb1..80e244ba70f4439a58ab2406c0affe72b9359889 100644 |
--- a/tools/clang/rewrite_to_chrome_style/tests/function-templates-original.cc |
+++ b/tools/clang/rewrite_to_chrome_style/tests/function-templates-original.cc |
@@ -21,9 +21,6 @@ class Checked { |
public: |
template<typename U, typename V> |
Checked(const Checked<U, V>& rhs){ |
- // This (incorrectly) doesn't get rewritten, since it's not instantiated. In |
- // this case, the AST representation contains a bunch of |
- // CXXDependentScopeMemberExpr nodes. |
if (rhs.hasOverflowed()) |
this->overflowed(); |
if (!isInBounds<T>(rhs.m_value)) |
@@ -40,11 +37,28 @@ class Checked { |
template<typename To, typename From> |
To bitwise_cast(From from) { |
- static_assert(sizeof(To) == sizeof(From)); |
+ static_assert(sizeof(To) == sizeof(From), "msg"); |
return reinterpret_cast<To>(from); |
} |
} // namespace WTF |
+namespace mojo { |
+ |
+template <typename U> |
+struct ArrayTraits; |
+ |
+template <typename U> |
+struct ArrayTraits<WTF::Checked<U, int>> { |
+ static bool HasOverflowed(WTF::Checked<U, int>& input) { |
+ // |hasOverflowed| below should be rewritten to |HasOverflowed| |
+ // (because this is a method of WTF::Checked; it doesn't matter |
+ // that we are not in WTF namespace *here*). |
+ return input.hasOverflowed(); |
+ } |
+}; |
+ |
+} // namespace mojo |
+ |
using WTF::bitwise_cast; |
using WTF::safeCast; |