Commit ba4141e4 authored by Jose Dapena Paz's avatar Jose Dapena Paz Committed by Commit Bot

GCC: explicitely std::move to base::Optional instead of implicit conversion to...

GCC: explicitely std::move to base::Optional instead of implicit conversion to base::Optional in return

GCC 7.2/7.3 complains in this pattern of code:
base::Optional<Foo>
Method() {
  ...
  Foo response;
  ...
  return response;
}

It seems it cannot properly resolve the implicit move to base::Optional, and
ends up failing to compile. To avoid that, this change explicitely moves to
base::Optional as return value:
  return base::Optional<Foo>(std::move(response));

Change-Id: Ic0390e1c31340dc34a71bb4175bd63a4631248d6
Reviewed-on: https://chromium-review.googlesource.com/944402
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
Reviewed-by: default avatarReilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541029}
parent 7afc64a2
......@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubresourceLoaderParams() {
SubresourceLoaderParams params;
params.loader_factory_info = factory_ptr.PassInterface();
return params;
return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void AppCacheRequestHandler::MaybeCreateSubresourceLoader(
......
......@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::MaybeCreateSubresourceLoaderParams() {
controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle(
provider_host_->controller());
params.controller_service_worker_info = std::move(controller_info);
return params;
return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(
......
......@@ -121,7 +121,7 @@ base::Optional<AuthenticatorGetAssertionResponse> ReadCTAPGetAssertionResponse(
response.SetNumCredentials(it->second.GetUnsigned());
}
return response;
return base::Optional<AuthenticatorGetAssertionResponse>(std::move(response));
}
base::Optional<AuthenticatorGetInfoResponse> ReadCTAPGetInfoResponse(
......@@ -241,7 +241,7 @@ base::Optional<AuthenticatorGetInfoResponse> ReadCTAPGetInfoResponse(
response.SetPinProtocols(std::move(supported_pin_protocols));
}
return response;
return base::Optional<AuthenticatorGetInfoResponse>(std::move(response));
}
} // namespace device
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment