Chromium Code Reviews| Index: mojo/public/cpp/bindings/array_traits_stl.h |
| diff --git a/mojo/public/cpp/bindings/array_traits_stl.h b/mojo/public/cpp/bindings/array_traits_stl.h |
| index 51af5ad7a1b28dae51c5b4f77d449b0a115761c5..9054a920190cd455890b3263e366c1811b3ce574 100644 |
| --- a/mojo/public/cpp/bindings/array_traits_stl.h |
| +++ b/mojo/public/cpp/bindings/array_traits_stl.h |
| @@ -43,7 +43,16 @@ struct ArrayTraits<std::vector<T>> { |
| } |
| static bool Resize(std::vector<T>& input, size_t size) { |
| - input.resize(size); |
| + if (input.size() != size) { |
| + // This is a hack to make compilers for Mac and Android happy. They |
| + // currently don't allow resizing types like |
| + // std::vector<std::vector<MoveOnlyType>>. |
|
Ken Rockot(use gerrit already)
2016/07/11 23:59:03
weird
yzshen1
2016/07/12 16:29:20
It is possible that the compiler version is not fu
|
| + // Because the deserialization code doesn't care about the original |
| + // contents of |input|, we discard them directly. |
| + std::vector<T> temp(size); |
| + input.swap(temp); |
| + } |
| + |
| return true; |
| } |
| }; |