From c951ec3eb2d8708019ffb4b2b58fcfdc42ebd934 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 2 Mar 2021 19:46:40 +0800 Subject: [PATCH] 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 --- .../os/seastore/omap_manager/btree/omap_btree_node_impl.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 acade8e43a3fe..e71260ffd8c09 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); -- 2.39.5