| 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() {
|
|
|