xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy -std=c++17-or-later %s modernize-use-nodiscard %t
2*89a1d03eSRichard 
3*89a1d03eSRichard class Foo
4*89a1d03eSRichard {
5*89a1d03eSRichard public:
6*89a1d03eSRichard     bool f1() const;
7*89a1d03eSRichard     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: function 'f1' should be marked {{\[\[nodiscard\]\]}} [modernize-use-nodiscard]
8*89a1d03eSRichard     // CHECK-FIXES: {{\[\[nodiscard\]\]}} bool f1() const;
9*89a1d03eSRichard 
10*89a1d03eSRichard     bool f2(int) const;
11*89a1d03eSRichard     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: function 'f2' should be marked {{\[\[nodiscard\]\]}} [modernize-use-nodiscard]
12*89a1d03eSRichard     // CHECK-FIXES: {{\[\[nodiscard\]\]}} bool f2(int) const;
13*89a1d03eSRichard 
14*89a1d03eSRichard     bool f3(const int &) const;
15*89a1d03eSRichard     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: function 'f3' should be marked {{\[\[nodiscard\]\]}} [modernize-use-nodiscard]
16*89a1d03eSRichard     // CHECK-FIXES: {{\[\[nodiscard\]\]}} bool f3(const int &) const;
17*89a1d03eSRichard 
18*89a1d03eSRichard     bool f4(void) const;
19*89a1d03eSRichard     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: function 'f4' should be marked {{\[\[nodiscard\]\]}} [modernize-use-nodiscard]
20*89a1d03eSRichard     // CHECK-FIXES: {{\[\[nodiscard\]\]}} bool f4(void) const;
21*89a1d03eSRichard 
22*89a1d03eSRichard };
23