From 1de02fd04345b762aa8423018ce52ac475c425cd Mon Sep 17 00:00:00 2001 From: Nicholas Dudfield Date: Wed, 16 Sep 2026 12:32:39 +0700 Subject: [PATCH] fix: brace-initialise HTTPClient::Query for clang Query is an aggregate; make_shared(a, b, c) needs C++20 parenthesised aggregate initialisation, which GCC 11 accepts and CI's clang rejects ('no matching constructor'). Same code upstream, which builds with a newer clang. --- src/xrpld/net/detail/HTTPClient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/xrpld/net/detail/HTTPClient.cpp b/src/xrpld/net/detail/HTTPClient.cpp index 97cc4b2b6e..c98e514791 100644 --- a/src/xrpld/net/detail/HTTPClient.cpp +++ b/src/xrpld/net/detail/HTTPClient.cpp @@ -151,10 +151,12 @@ public: { JLOG(j_.trace()) << "Fetch: " << mDeqSites[0]; - auto query = std::make_shared( + // Query is an aggregate: brace-initialise it rather than relying on + // C++20 parenthesised aggregate init, which clang < 16 rejects. + auto query = std::make_shared(Query{ mDeqSites[0], std::to_string(mPort), - boost::asio::ip::resolver_query_base::numeric_service); + boost::asio::ip::resolver_query_base::numeric_service}); mQuery = query; try