rust/tests/ui/on-unimplemented
Matthias Krüger a4f323ce9c
Rollup merge of #132583 - mejrs:tuples, r=compiler-errors
Suggest creating unary tuples when types don't match a trait

When you want to have a variadic function, a common workaround to implement this is to create a trait and then implement that trait for various tuples. For example in `pyo3` there exists
```rust
/// Calls the object with only positional arguments.
pub fn call1(&self, args: impl IntoPy<Py<PyTuple>>) -> PyResult<&PyAny> {
   ...
}
```

with various impls like
```rust
impl<A: IntoPy<PyObject> IntoPy<Py<PyAny>> for (A,)
impl<A: IntoPy<PyObject, B: IntoPy<PyObject> IntoPy<Py<PyAny>> for (A, B)
... etc
```

This means that if you want to call the method with a single item you have to create a unary tuple, like `(x,)`, rather than just `x`.

This PR implements a suggestion to do that, if applicable.
2024-11-04 18:12:48 +01:00
..
auxiliary
bad-annotation.rs Fix failing test 2024-02-12 16:24:41 +09:00
bad-annotation.stderr Fix failing test 2024-02-12 18:09:39 +09:00
expected-comma-found-token.rs
expected-comma-found-token.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
feature-gate-on-unimplemented.rs
feature-gate-on-unimplemented.stderr Bless tests 2024-01-13 12:46:58 -05:00
impl-substs.rs
impl-substs.stderr Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
issue-104140.rs
issue-104140.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-impls.rs Deduplicate more sized errors on call exprs 2024-01-24 02:53:15 +00:00
multiple-impls.stderr Spell out other trait diagnostic 2024-06-12 12:34:47 +00:00
no-debug.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
no-debug.stderr
on-impl.rs Deduplicate more sized errors on call exprs 2024-01-24 02:53:15 +00:00
on-impl.stderr Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
on-trait.rs
on-trait.stderr Deduplicate more sized errors on call exprs 2024-01-24 02:53:15 +00:00
parent-label.rs
parent-label.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
slice-index.rs
slice-index.stderr Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
suggest_tuple_wrap_root_obligation.rs Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
suggest_tuple_wrap_root_obligation.stderr Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
suggest_tuple_wrap.rs Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
suggest_tuple_wrap.stderr Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
sum.rs
sum.stderr Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00