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