1 // RUN: %check_clang_tidy %s cppcoreguidelines-prefer-member-initializer,modernize-use-default-member-init %t -- \
2 // RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: true}]}"
3 
4 class Simple1 {
5   int n;
6   // CHECK-FIXES: int n = 0;
7   double x;
8   // CHECK-FIXES: double x = 0.0;
9 
10 public:
Simple1()11   Simple1() {
12     n = 0;
13     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: 'n' should be initialized in an in-class default member initializer [cppcoreguidelines-prefer-member-initializer]
14     // CHECK-FIXES: {{^\ *$}}
15     x = 0.0;
16     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: 'x' should be initialized in an in-class default member initializer [cppcoreguidelines-prefer-member-initializer]
17     // CHECK-FIXES: {{^\ *$}}
18   }
19 
Simple1(int nn,double xx)20   Simple1(int nn, double xx) {
21     // CHECK-FIXES: Simple1(int nn, double xx) : n(nn), x(xx) {
22     n = nn;
23     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: 'n' should be initialized in a member initializer of the constructor [cppcoreguidelines-prefer-member-initializer]
24     // CHECK-FIXES: {{^\ *$}}
25     x = xx;
26     // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: 'x' should be initialized in a member initializer of the constructor [cppcoreguidelines-prefer-member-initializer]
27     // CHECK-FIXES: {{^\ *$}}
28   }
29 
30   ~Simple1() = default;
31 };
32