a4f323ce9c
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. |
||
---|---|---|
.. | ||
auxiliary | ||
bad-annotation.rs | ||
bad-annotation.stderr | ||
expected-comma-found-token.rs | ||
expected-comma-found-token.stderr | ||
feature-gate-on-unimplemented.rs | ||
feature-gate-on-unimplemented.stderr | ||
impl-substs.rs | ||
impl-substs.stderr | ||
issue-104140.rs | ||
issue-104140.stderr | ||
multiple-impls.rs | ||
multiple-impls.stderr | ||
no-debug.rs | ||
no-debug.stderr | ||
on-impl.rs | ||
on-impl.stderr | ||
on-trait.rs | ||
on-trait.stderr | ||
parent-label.rs | ||
parent-label.stderr | ||
slice-index.rs | ||
slice-index.stderr | ||
suggest_tuple_wrap_root_obligation.rs | ||
suggest_tuple_wrap_root_obligation.stderr | ||
suggest_tuple_wrap.rs | ||
suggest_tuple_wrap.stderr | ||
sum.rs | ||
sum.stderr |