about summary refs log tree commit diff
path: root/tests/ui/parser/require-parens-for-chained-comparison.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/parser/require-parens-for-chained-comparison.rs')
-rw-r--r--tests/ui/parser/require-parens-for-chained-comparison.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/ui/parser/require-parens-for-chained-comparison.rs b/tests/ui/parser/require-parens-for-chained-comparison.rs
new file mode 100644
index 00000000000..5b90e905a64
--- /dev/null
+++ b/tests/ui/parser/require-parens-for-chained-comparison.rs
@@ -0,0 +1,38 @@
+fn main() {
+    false == false == false;
+    //~^ ERROR comparison operators cannot be chained
+    //~| HELP split the comparison into two
+
+    false == 0 < 2;
+    //~^ ERROR comparison operators cannot be chained
+    //~| HELP parenthesize the comparison
+
+    f<X>();
+    //~^ ERROR comparison operators cannot be chained
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+
+    f<Result<Option<X>, Option<Option<X>>>(1, 2);
+    //~^ ERROR comparison operators cannot be chained
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+
+    let _ = f<u8, i8>();
+    //~^ ERROR expected one of
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+
+    let _ = f<'_, i8>();
+    //~^ ERROR expected one of
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+    //~| ERROR expected
+    //~| HELP add `'` to close the char literal
+
+    f<'_>();
+    //~^ comparison operators cannot be chained
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+    //~| ERROR expected
+    //~| HELP add `'` to close the char literal
+
+    let _ = f<u8>;
+    //~^ ERROR comparison operators cannot be chained
+    //~| HELP use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+    //~| HELP or use `(...)` if you meant to specify fn arguments
+}