--- src/shrpx_client_handler.cc.orig	2023-05-10 03:29:19.000000000 -0500
+++ src/shrpx_client_handler.cc	2023-05-11 15:24:40.000000000 -0500
@@ -1036,12 +1036,12 @@
   case UpstreamAltMode::API: {
     auto dconn = std::make_unique<APIDownstreamConnection>(worker_);
     dconn->set_client_handler(this);
-    return dconn;
+    return std::move(dconn);
   }
   case UpstreamAltMode::HEALTHMON: {
     auto dconn = std::make_unique<HealthMonitorDownstreamConnection>();
     dconn->set_client_handler(this);
-    return dconn;
+    return std::move(dconn);
   }
   default:
     break;
@@ -1108,7 +1108,7 @@
   if (group->shared_addr->dnf) {
     auto dconn = std::make_unique<NullDownstreamConnection>(group);
     dconn->set_client_handler(this);
-    return dconn;
+    return std::move(dconn);
   }
 
   auto addr = get_downstream_addr(err, group.get(), downstream);
@@ -1150,7 +1150,7 @@
   auto http2session = get_http2_session(group, addr);
   auto dconn = std::make_unique<Http2DownstreamConnection>(http2session);
   dconn->set_client_handler(this);
-  return dconn;
+  return std::move(dconn);
 }
 
 MemchunkPool *ClientHandler::get_mcpool() { return worker_->get_mcpool(); }
