summaryrefslogtreecommitdiffstats
path: root/build/clang-plugin/tests/TestExplicitOperatorBool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'build/clang-plugin/tests/TestExplicitOperatorBool.cpp')
-rw-r--r--build/clang-plugin/tests/TestExplicitOperatorBool.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/build/clang-plugin/tests/TestExplicitOperatorBool.cpp b/build/clang-plugin/tests/TestExplicitOperatorBool.cpp
new file mode 100644
index 0000000000..bc4b43a7d0
--- /dev/null
+++ b/build/clang-plugin/tests/TestExplicitOperatorBool.cpp
@@ -0,0 +1,11 @@
+#define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
+
+struct Bad {
+ operator bool(); // expected-error {{bad implicit conversion operator for 'Bad'}} expected-note {{consider adding the explicit keyword to 'operator bool'}}
+};
+struct Good {
+ explicit operator bool();
+};
+struct Okay {
+ MOZ_IMPLICIT operator bool();
+};