diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common.h | 4 | ||||
-rw-r--r-- | src/interpreter.h | 16 | ||||
-rw-r--r-- | src/intrusive-list.h | 6 | ||||
-rw-r--r-- | src/tracing.h | 4 |
4 files changed, 15 insertions, 15 deletions
diff --git a/src/common.h b/src/common.h index e728d5ab..a057f0bc 100644 --- a/src/common.h +++ b/src/common.h @@ -109,8 +109,8 @@ void ZeroMemory(T& v) { // Placement construct template <typename T, typename... Args> -void Construct(T& placement, Args... args) { - new (&placement) T(args...); +void Construct(T& placement, Args&&... args) { + new (&placement) T(std::forward<Args>(args)...); } // Placement destruct diff --git a/src/interpreter.h b/src/interpreter.h index 5815a334..1b91f5a1 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -381,48 +381,48 @@ class Environment { template <typename... Args> FuncSignature* EmplaceBackFuncSignature(Args&&... args) { - sigs_.emplace_back(args...); + sigs_.emplace_back(std::forward<Args>(args)...); return &sigs_.back(); } template <typename... Args> Func* EmplaceBackFunc(Args&&... args) { - funcs_.emplace_back(args...); + funcs_.emplace_back(std::forward<Args>(args)...); return funcs_.back().get(); } template <typename... Args> Global* EmplaceBackGlobal(Args&&... args) { - globals_.emplace_back(args...); + globals_.emplace_back(std::forward<Args>(args)...); return &globals_.back(); } template <typename... Args> Table* EmplaceBackTable(Args&&... args) { - tables_.emplace_back(args...); + tables_.emplace_back(std::forward<Args>(args)...); return &tables_.back(); } template <typename... Args> Memory* EmplaceBackMemory(Args&&... args) { - memories_.emplace_back(args...); + memories_.emplace_back(std::forward<Args>(args)...); return &memories_.back(); } template <typename... Args> Module* EmplaceBackModule(Args&&... args) { - modules_.emplace_back(args...); + modules_.emplace_back(std::forward<Args>(args)...); return modules_.back().get(); } template <typename... Args> void EmplaceModuleBinding(Args&&... args) { - module_bindings_.emplace(args...); + module_bindings_.emplace(std::forward<Args>(args)...); } template <typename... Args> void EmplaceRegisteredModuleBinding(Args&&... args) { - registered_module_bindings_.emplace(args...); + registered_module_bindings_.emplace(std::forward<Args>(args)...); } HostModule* AppendHostModule(string_view name); diff --git a/src/intrusive-list.h b/src/intrusive-list.h index 290a0483..403442f4 100644 --- a/src/intrusive-list.h +++ b/src/intrusive-list.h @@ -410,13 +410,13 @@ inline typename intrusive_list<T>::const_reference intrusive_list<T>::back() template <typename T> template <class... Args> inline void intrusive_list<T>::emplace_front(Args&&... args) { - push_front(new T(args...)); + push_front(new T(std::forward<Args>(args)...)); } template <typename T> template <class... Args> inline void intrusive_list<T>::emplace_back(Args&&... args) { - push_back(new T(args...)); + push_back(new T(std::forward<Args>(args)...)); } template <typename T> @@ -504,7 +504,7 @@ template <class... Args> inline typename intrusive_list<T>::iterator intrusive_list<T>::emplace( iterator pos, Args&&... args) { - return insert(pos, new T(args...)); + return insert(pos, new T(std::forward<Args>(args)...)); } template <typename T> diff --git a/src/tracing.h b/src/tracing.h index f1e741c5..dce1b89a 100644 --- a/src/tracing.h +++ b/src/tracing.h @@ -42,10 +42,10 @@ struct TraceScope { TraceScope() = delete; TraceScope(const char* method); template<typename... Args> - TraceScope(const char* method, const char* format, Args... args) + TraceScope(const char* method, const char* format, Args&&... args) : method_(method) { PrintEnter(method); - fprintf(stderr, format, args...); + fprintf(stderr, format, std::forward<Args>(args)...); PrintNewline(); } ~TraceScope(); |