     }
 
     dh::safe_cuda(cudaDeviceSynchronize());
-    dh::safe_cuda(
-        cudaMemcpy(candidate_splits, shard->temp_memory.d_temp_storage,
-                   sizeof(DeviceSplitCandidate) * columns * nidx_set.size(),
-                   cudaMemcpyDeviceToHost));
+    dh::safe_cuda
+      (cudaMemcpy(candidate_splits.data(), shard->temp_memory.d_temp_storage,
+                  sizeof(DeviceSplitCandidate) * columns * nidx_set.size(),
+                  cudaMemcpyDeviceToHost));
     for (auto i = 0; i < nidx_set.size(); i++) {
       auto depth = p_tree->GetDepth(nidx_set[i]);
       DeviceSplitCandidate nidx_best;

  struct ExpandEntry;

  GPUHistMaker() : initialised_(false), p_last_fmat_(nullptr) {}
  void Init(
      const std::vector<std::pair<std::string, std::string>>& args) override {
    param_.InitAllowUnknown(args);

      }
      best_splits[i] = nidx_best;
    }
    return std::move(best_splits);
  }

