From: Kefu Chai Date: Tue, 2 Mar 2021 11:46:40 +0000 (+0800) Subject: crimson/os: capture structured binding labels with new variable X-Git-Tag: v17.1.0~2789^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c951ec3eb2d8708019ffb4b2b58fcfdc42ebd934;p=ceph.git crimson/os: capture structured binding labels with new variable structured binding does not define variables. unlike GCC, Clang does not allow this. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc index acade8e43a3f..e71260ffd8c0 100644 --- a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc +++ b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc @@ -209,7 +209,8 @@ OMapInnerNode::list( [=, &start](auto &biter, auto &eiter, auto &ret) { auto &[complete, result] = ret; return crimson::do_until( - [&, max_result_size, oc, this]() -> list_ertr::future { + [&, &complete=complete, &result=result, max_result_size, oc, this]() + -> list_ertr::future { if (biter == eiter || result.size() == max_result_size) { complete = biter == eiter; return list_ertr::make_ready_future(true);