Repository: rust
Issue: Passing an `ExprKind::Assign` to a function should specify that rust does not have named arguments
Labels: A-diagnostics,T-compiler

### Code

```Rust
fn a(x: u32, y: u32) {}

fn b() {
    let x = 1;
    let y = 1;
    a(x = x, y = y);
}

fn c() {
    let x_2 = 1;
    let y_2 = 1;
    a(x = x_2, y = y_2);
}
```


### Current output

```Shell
error[E0425]: cannot find value `x` in this scope
  --> a/bb/src/main.rs:12:7
   |
1  | fn a(x: u32, y: u32) {}
   | -------------------- similarly named function `a` defined here
...
12 |     a(x = x_2, y = y_2);
   |       ^ help: a function with a similar name exists: `a`

error[E0425]: cannot find value `y` in this scope
  --> a/bb/src/main.rs:12:16
   |
1  | fn a(x: u32, y: u32) {}
   | -------------------- similarly named function `a` defined here
...
12 |     a(x = x_2, y = y_2);
   |                ^ help: a function with a similar name exists: `a`

error[E0308]: arguments to this function are incorrect
 --> a/bb/src/main.rs:6:5
  |
6 |     a(x = x, y = y);
  |     ^ -----  ----- expected `u32`, found `()`
  |       |
  |       expected `u32`, found `()`
  |
note: function defined here
 --> a/bb/src/main.rs:1:4
  |
1 | fn a(x: u32, y: u32) {}
  |    ^ ------  ------

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0308, E0425.
For more information about an error, try `rustc --explain E0308`.
```


### Desired output

```Shell
error[E0425]: cannot find value `x` in this scope
  --> a/bb/src/main.rs:12:7
   |
1  | fn a(x: u32, y: u32) {}
   | -------------------- similarly named function `a` defined here
...
12 |     a(x = x_2, y = y_2);
   |       ^ help: a function with a similar name exists: `a`
note: Rust does not support named arguments; try
(suggestion like `a(x_2, y_2);` here)

error[E0425]: cannot find value `y` in this scope
  --> a/bb/src/main.rs:12:16
   |
1  | fn a(x: u32, y: u32) {}
   | -------------------- similarly named function `a` defined here
...
12 |     a(x = x_2, y = y_2);
   |                ^ help: a function with a similar name exists: `a`

error[E0308]: arguments to this function are incorrect
 --> a/bb/src/main.rs:6:5
  |
6 |     a(x = x, y = y);
  |     ^ -----  ----- expected `u32`, found `()`
  |       |
  |       expected `u32`, found `()`
  |
note: function defined here
 --> a/bb/src/main.rs:1:4
  |
1 | fn a(x: u32, y: u32) {}
  |    ^ ------  ------
note: Rust does not support named arguments; try
(suggestion like `a(x, y);` here)

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0308, E0425.
For more information about an error, try `rustc --explain E0308`.
```


### Rationale and extra context

For somebody new to rust, it may not be immediately clear why this doesn't work, or why it's `()`. We'd ideally guide them in the right direction if lhs' name is the same as that parameter.

I *think* we only need to do this for the two above cases (where lhs doesn't exist or it does, but the type is wrong)

If the correct type happens to be `()`, this could probably be a clippy lint.

### Other cases

_No response_

### Anything else?

_No response_

<!-- TRIAGEBOT_START -->

<!-- TRIAGEBOT_ASSIGN_START -->

<!-- TRIAGEBOT_ASSIGN_DATA_START$${"user":"Rajveer100"}$$TRIAGEBOT_ASSIGN_DATA_END -->

<!-- TRIAGEBOT_ASSIGN_END -->
<!-- TRIAGEBOT_END -->