chore: use std::forward() in ConvertToV8() (#31817)

The variable `input` is accepted by a universal reference, so it doesn't
make sense to cast a potential lvalue reference into an rvalue
reference. In case `input` is an lvalue reference, we should rather
forward the value as is to `ToV8()`.

Signed-off-by: Darshan Sen <darshan.sen@postman.com>
This commit is contained in:
Darshan Sen 2021-11-16 13:45:32 +05:30 committed by GitHub
parent e6b1d95a1c
commit 25f2abb64d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -21,7 +21,7 @@ namespace gin {
template <typename T>
v8::Local<v8::Value> ConvertToV8(v8::Isolate* isolate, T&& input) {
return Converter<typename std::remove_reference<T>::type>::ToV8(
isolate, std::move(input));
isolate, std::forward<T>(input));
}
#if !defined(OS_LINUX) && !defined(OS_FREEBSD)

View file

@ -282,9 +282,9 @@ v8::MaybeLocal<v8::Value> PassValueToOtherContext(
ignore_result(source_promise->Then(
source_context,
gin::ConvertToV8(destination_context->GetIsolate(), then_cb)
gin::ConvertToV8(destination_context->GetIsolate(), std::move(then_cb))
.As<v8::Function>(),
gin::ConvertToV8(destination_context->GetIsolate(), catch_cb)
gin::ConvertToV8(destination_context->GetIsolate(), std::move(catch_cb))
.As<v8::Function>()));
object_cache->CacheProxiedObject(value, proxied_promise_handle);