================
@@ -672,9 +672,15 @@ class Matcher {
   DynTypedMatcher Implementation;
 };  // class Matcher
 
-/// A convenient helper for creating a Matcher<T> without specifying
-/// the template type argument.
+// Deduction guide for Matcher.
+template <typename T> Matcher(MatcherInterface<T> *) -> Matcher<T>;
+
+// TODO: Remove in LLVM 23.
 template <typename T>
+[[deprecated(
+    "makeMatcher() is deprecated and will be removed in LLVM 23. "
+    "Uses of it can be replaced with direct calls to Matcher's "
+    "constructor; with C++17's CTAD, template arguments will be deduced.")]]
----------------
vbvictor wrote:

Could we make message smaller, no need to tell how CTAD works IMO.
We could just with `[[deprecated("Use CTAD constructor instead, 'makeMatcher' 
will be removed in LLVM 23")]]`

https://github.com/llvm/llvm-project/pull/147197
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to