about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorJesse Rusak <me@jesserusak.com>2024-09-17 20:53:37 -0400
committerJesse Rusak <me@jesserusak.com>2024-09-17 20:54:04 -0400
commit3cb1f334b8c74f7c8c5860e2c84b317fbc86165d (patch)
tree90662dd32bfa7d89aa0bf15045c0fa9e11bd9e66 /tests
parent28e8f01c2a2f33fb4214925a704e3223b372cad5 (diff)
downloadrust-3cb1f334b8c74f7c8c5860e2c84b317fbc86165d.tar.gz
rust-3cb1f334b8c74f7c8c5860e2c84b317fbc86165d.zip
Fix circular fn_sig queries to return the correct number of arguments for methods
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/mismatched_types/mismatch-args-crash-issue-130400.rs8
-rw-r--r--tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr26
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.rs b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.rs
new file mode 100644
index 00000000000..16c4e639c29
--- /dev/null
+++ b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.rs
@@ -0,0 +1,8 @@
+trait Bar {
+    fn foo(&mut self) -> _ {
+        //~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types
+        Self::foo() //~ ERROR  this function takes 1 argument but 0 arguments were supplied
+    }
+}
+
+fn main() {}
diff --git a/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr
new file mode 100644
index 00000000000..0e4b94b98e2
--- /dev/null
+++ b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr
@@ -0,0 +1,26 @@
+error[E0061]: this function takes 1 argument but 0 arguments were supplied
+  --> $DIR/mismatch-args-crash-issue-130400.rs:4:9
+   |
+LL |         Self::foo()
+   |         ^^^^^^^^^-- argument #1 is missing
+   |
+note: method defined here
+  --> $DIR/mismatch-args-crash-issue-130400.rs:2:8
+   |
+LL |     fn foo(&mut self) -> _ {
+   |        ^^^ ---------
+help: provide the argument
+   |
+LL |         Self::foo(/* value */)
+   |                  ~~~~~~~~~~~~~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
+  --> $DIR/mismatch-args-crash-issue-130400.rs:2:26
+   |
+LL |     fn foo(&mut self) -> _ {
+   |                          ^ not allowed in type signatures
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0061, E0121.
+For more information about an error, try `rustc --explain E0061`.