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 {}; }