summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/args-instead-of-tuple-errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/suggestions/args-instead-of-tuple-errors.rs')
-rw-r--r--tests/ui/suggestions/args-instead-of-tuple-errors.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/suggestions/args-instead-of-tuple-errors.rs b/tests/ui/suggestions/args-instead-of-tuple-errors.rs
new file mode 100644
index 000000000..f5931a1ba
--- /dev/null
+++ b/tests/ui/suggestions/args-instead-of-tuple-errors.rs
@@ -0,0 +1,22 @@
+// Ensure we don't suggest tuple-wrapping when we'd end up with a type error
+
+fn main() {
+ // we shouldn't suggest to fix these - `2` isn't a `bool`
+
+ let _: Option<(i32, bool)> = Some(1, 2);
+ //~^ ERROR this enum variant takes 1 argument but 2 arguments were supplied
+ int_bool(1, 2);
+ //~^ ERROR function takes 1 argument but 2 arguments were supplied
+
+ let _: Option<(i8,)> = Some();
+ //~^ ERROR this enum variant takes 1 argument but 0 arguments were supplied
+
+ let _: Option<(i32,)> = Some(5_usize);
+ //~^ ERROR mismatched types
+
+ let _: Option<(i32,)> = Some((5_usize));
+ //~^ ERROR mismatched types
+}
+
+fn int_bool(_: (i32, bool)) {
+}