diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp b/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp index b49ce7bd1e8..f8a154e559d 100644 --- a/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp +++ b/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp @@ -38,6 +38,7 @@ struct A { explicit A(void *x) {} explicit A(void *x, void *y) {} + explicit operator bool() const { return true; } explicit A(const A& a) {} // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: copy constructor should not be declared explicit [google-explicit-constructor] @@ -62,6 +63,10 @@ struct B { B(const std::initializer_list<unsigned> &list2) {} B(std::initializer_list<unsigned> &&list3) {} + operator bool() const { return true; } + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: 'operator bool' must be marked explicit to avoid unintentional implicit conversions [google-explicit-constructor] + // CHECK-FIXES: {{^ }}explicit operator bool() const { return true; } + explicit B(::std::initializer_list<double> list4) {} // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: initializer-list constructor should not be declared explicit [google-explicit-constructor] // CHECK-FIXES: {{^ }}B(::std::initializer_list<double> list4) {} |