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