From 2ff59ec3e0fc093dcd0064bc5df21c5d62ea2445 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Oct 2025 17:27:41 -0400 Subject: [PATCH] Use `std::ranges::find_if` for finding external builders Co-authored-by: Sergei Zimmerman --- src/libstore/unix/build/external-derivation-builder.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libstore/unix/build/external-derivation-builder.cc b/src/libstore/unix/build/external-derivation-builder.cc index f20badb85..ebcaad525 100644 --- a/src/libstore/unix/build/external-derivation-builder.cc +++ b/src/libstore/unix/build/external-derivation-builder.cc @@ -18,10 +18,12 @@ struct ExternalDerivationBuilder : DerivationBuilderImpl static std::unique_ptr newIfSupported( LocalStore & store, std::unique_ptr & miscMethods, DerivationBuilderParams & params) { - for (auto & handler : settings.externalBuilders.get()) { - if (handler.systems.contains(params.drv.platform)) - return std::make_unique( - store, std::move(miscMethods), std::move(params), handler); + if (auto it = std::ranges::find_if( + settings.externalBuilders.get(), + [&](const auto & handler) { return handler.systems.contains(params.drv.platform); }); + it != settings.externalBuilders.get().end()) { + return std::make_unique( + store, std::move(miscMethods), std::move(params), *it); } return {}; }