From a13cf846e0c6c9f667be505eb1aae8160240cf4a Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 26 Jun 2025 08:40:47 -0700 Subject: [PATCH] [ASTMatchers] Migrate away from ArrayRef(std::nullopt) (NFC) (#145840) ArrayRef has a constructor that accepts std::nullopt. This constructor dates back to the days when we still had llvm::Optional. Since the use of std::nullopt outside the context of std::optional is kind of abuse and not intuitive to new comers, I would like to move away from the constructor and eventually remove it. This patch migrates away from std::nullopt in favor of ArrayRef(). Note that {} would be ambiguous for perfect forwarding to work here. --- clang/lib/ASTMatchers/Dynamic/Marshallers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/ASTMatchers/Dynamic/Marshallers.h b/clang/lib/ASTMatchers/Dynamic/Marshallers.h index 0e640cbada72..d44e42a524f2 100644 --- a/clang/lib/ASTMatchers/Dynamic/Marshallers.h +++ b/clang/lib/ASTMatchers/Dynamic/Marshallers.h @@ -1060,7 +1060,7 @@ makeMatcherAutoMarshall(ReturnType (*Func)(), StringRef MatcherName) { BuildReturnTypeVector::build(RetTypes); return std::make_unique( matcherMarshall0, reinterpret_cast(Func), - MatcherName, RetTypes, std::nullopt); + MatcherName, RetTypes, ArrayRef()); } /// 1-arg overload