Skip to content

Commit 2ff59ec

Browse files
Ericson2314xokdvium
andcommitted
Use std::ranges::find_if for finding external builders
Co-authored-by: Sergei Zimmerman <[email protected]>
1 parent b56dd21 commit 2ff59ec

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/libstore/unix/build/external-derivation-builder.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ struct ExternalDerivationBuilder : DerivationBuilderImpl
1818
static std::unique_ptr<ExternalDerivationBuilder> newIfSupported(
1919
LocalStore & store, std::unique_ptr<DerivationBuilderCallbacks> & miscMethods, DerivationBuilderParams & params)
2020
{
21-
for (auto & handler : settings.externalBuilders.get()) {
22-
if (handler.systems.contains(params.drv.platform))
23-
return std::make_unique<ExternalDerivationBuilder>(
24-
store, std::move(miscMethods), std::move(params), handler);
21+
if (auto it = std::ranges::find_if(
22+
settings.externalBuilders.get(),
23+
[&](const auto & handler) { return handler.systems.contains(params.drv.platform); });
24+
it != settings.externalBuilders.get().end()) {
25+
return std::make_unique<ExternalDerivationBuilder>(
26+
store, std::move(miscMethods), std::move(params), *it);
2527
}
2628
return {};
2729
}

0 commit comments

Comments
 (0)