Index: base/memory/manual_constructor.h |
diff --git a/base/memory/manual_constructor.h b/base/memory/manual_constructor.h |
index 56081a1d3bc5362a6797a2aeca2d2516f74689f6..f401f62d513803803efdd4de3a8b1de8ede9ba9f 100644 |
--- a/base/memory/manual_constructor.h |
+++ b/base/memory/manual_constructor.h |
@@ -54,8 +54,12 @@ class ManualConstructor { |
inline const Type& operator*() const { return *get(); } |
template <typename... Ts> |
- inline void Init(const Ts&... params) { |
- new(space_.void_data()) Type(params...); |
+ inline void Init(Ts&&... params) { |
+ new(space_.void_data()) Type(std::forward<Ts>(params)...); |
+ } |
+ |
+ inline void InitFromMove(ManualConstructor<Type>&& o) { |
+ Init(std::move(*o)); |
} |
inline void Destroy() { |