about summary refs log tree commit diff
path: root/tests/ui/fn
diff options
context:
space:
mode:
authorxizheyin <xizheyin@smail.nju.edu.cn>2025-05-06 15:45:04 +0800
committerxizheyin <xizheyin@smail.nju.edu.cn>2025-05-07 22:56:14 +0800
commitb922da3586ce01a4bf174db09624a1d0a424d5d9 (patch)
tree161065f1e979b81e232552847025831b7015d16d /tests/ui/fn
parent896cf8029c6a87b920e05dd569482dad6adbddfc (diff)
downloadrust-b922da3586ce01a4bf174db09624a1d0a424d5d9.tar.gz
rust-b922da3586ce01a4bf174db09624a1d0a424d5d9.zip
Use `parse_param_general` when parsing `(T, U)->R` in `parse_path_segment`
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>

Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
Diffstat (limited to 'tests/ui/fn')
-rw-r--r--tests/ui/fn/fn-trait-use-named-params-issue-140169.rs14
-rw-r--r--tests/ui/fn/fn-trait-use-named-params-issue-140169.stderr44
2 files changed, 41 insertions, 17 deletions
diff --git a/tests/ui/fn/fn-trait-use-named-params-issue-140169.rs b/tests/ui/fn/fn-trait-use-named-params-issue-140169.rs
index fae5f6c1519..218450abd49 100644
--- a/tests/ui/fn/fn-trait-use-named-params-issue-140169.rs
+++ b/tests/ui/fn/fn-trait-use-named-params-issue-140169.rs
@@ -1,6 +1,12 @@
-fn g(_: fn(a: u8)) {}
-fn x(_: impl Fn(u8, vvvv: u8)) {} //~ ERROR expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
-fn y(_: impl Fn(aaaa: u8, u8)) {} //~ ERROR expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
-fn z(_: impl Fn(aaaa: u8, vvvv: u8)) {} //~ ERROR expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
+fn f1(_: fn(a: u8)) {}
+fn f2(_: impl Fn(u8, vvvv: u8)) {} //~ ERROR `Trait(...)` syntax does not support named parameters
+fn f3(_: impl Fn(aaaa: u8, u8)) {} //~ ERROR `Trait(...)` syntax does not support named parameters
+fn f4(_: impl Fn(aaaa: u8, vvvv: u8)) {}
+//~^ ERROR `Trait(...)` syntax does not support named parameters
+//~| ERROR `Trait(...)` syntax does not support named parameters
+fn f5(_: impl Fn(u8, ...)) {}
+//~^ ERROR `Trait(...)` syntax does not support c_variadic parameters
+fn f6(_: impl Fn(u8, #[allow(unused_attributes)] u8)) {}
+//~^ ERROR `Trait(...)` syntax does not support attributes in parameters
 
 fn main(){}
diff --git a/tests/ui/fn/fn-trait-use-named-params-issue-140169.stderr b/tests/ui/fn/fn-trait-use-named-params-issue-140169.stderr
index e599afb1345..b72d5b7b3bc 100644
--- a/tests/ui/fn/fn-trait-use-named-params-issue-140169.stderr
+++ b/tests/ui/fn/fn-trait-use-named-params-issue-140169.stderr
@@ -1,20 +1,38 @@
-error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
-  --> $DIR/fn-trait-use-named-params-issue-140169.rs:2:25
+error: `Trait(...)` syntax does not support named parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:2:22
    |
-LL | fn x(_: impl Fn(u8, vvvv: u8)) {}
-   |                         ^ expected one of 7 possible tokens
+LL | fn f2(_: impl Fn(u8, vvvv: u8)) {}
+   |                      ^^^^ help: remove the parameter name
 
-error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
-  --> $DIR/fn-trait-use-named-params-issue-140169.rs:3:21
+error: `Trait(...)` syntax does not support named parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:3:18
    |
-LL | fn y(_: impl Fn(aaaa: u8, u8)) {}
-   |                     ^ expected one of 7 possible tokens
+LL | fn f3(_: impl Fn(aaaa: u8, u8)) {}
+   |                  ^^^^ help: remove the parameter name
 
-error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `:`
-  --> $DIR/fn-trait-use-named-params-issue-140169.rs:4:21
+error: `Trait(...)` syntax does not support named parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:4:18
    |
-LL | fn z(_: impl Fn(aaaa: u8, vvvv: u8)) {}
-   |                     ^ expected one of 7 possible tokens
+LL | fn f4(_: impl Fn(aaaa: u8, vvvv: u8)) {}
+   |                  ^^^^ help: remove the parameter name
 
-error: aborting due to 3 previous errors
+error: `Trait(...)` syntax does not support named parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:4:28
+   |
+LL | fn f4(_: impl Fn(aaaa: u8, vvvv: u8)) {}
+   |                            ^^^^ help: remove the parameter name
+
+error: `Trait(...)` syntax does not support c_variadic parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:7:22
+   |
+LL | fn f5(_: impl Fn(u8, ...)) {}
+   |                      ^^^ help: remove the `...`
+
+error: `Trait(...)` syntax does not support attributes in parameters
+  --> $DIR/fn-trait-use-named-params-issue-140169.rs:9:22
+   |
+LL | fn f6(_: impl Fn(u8, #[allow(unused_attributes)] u8)) {}
+   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attributes
+
+error: aborting due to 6 previous errors