================
@@ -0,0 +1,45 @@
+// RUN: %check_clang_tidy -std=c++17 %s 
bugprone-redundant-string-view-conversions %t -- \
+// RUN:   -- -isystem %clang_tidy_headers
+
+#include <string>
+
+void foo1(int p1, std::string_view p2, double p3);
+void foo2(int p1, std::wstring_view p2, double p3);
+void foo3(int p1, const std::string& p2, double p3);
+
+void bar_positive(std::string_view sv, std::wstring_view wsv) {
+  // string(string_view)
+  //
+  foo1(42, std::string(sv), 3.14);
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant conversion to 
std::string and then back to std::string_view 
[bugprone-redundant-string-view-conversions]
+  // CHECK-FIXES: foo1(42, sv, 3.14);
+
+  foo1(42, std::string("hello, world"), 3.14);
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant conversion to 
std::string and then back to std::string_view 
[bugprone-redundant-string-view-conversions]
+  // CHECK-FIXES: foo1(42, "hello, world", 3.14);
+
+  const char *ptr = "Hello, world";
+  foo1(42, std::string(ptr), 3.14);
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant conversion to 
std::string and then back to std::string_view 
[bugprone-redundant-string-view-conversions]
+  // CHECK-FIXES: foo1(42, ptr, 3.14);
+
+  // wstring(wstring_view)
+  //
+  foo2(42, std::wstring(wsv), 3.14);
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant conversion to 
std::wstring and then back to std::wstring_view 
[bugprone-redundant-string-view-conversions]
+  // CHECK-FIXES: foo2(42, wsv, 3.14);
+
+  const wchar_t *wptr = L"Hello, world";
+  foo2(42, std::wstring(wptr), 3.14);
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant conversion to 
std::wstring and then back to std::wstring_view 
[bugprone-redundant-string-view-conversions]
+  // CHECK-FIXES: foo2(42, wptr, 3.14);
+}
+
+void bar_negaitve(std::string_view sv, std::wstring_view wsv) {
----------------
zeyi2 wrote:

typo?

https://github.com/llvm/llvm-project/pull/174288
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to