os-rust/tests/ui/diagnostic_namespace/do_not_recommend
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
..
as_expression.current.stderr Add trait diff highlighting logic and use it in E0277 2024-11-02 03:08:04 +00:00
as_expression.next.stderr Add trait diff highlighting logic and use it in E0277 2024-11-02 03:08:04 +00:00
as_expression.rs eagerly normalize when adding goals 2024-05-28 04:54:05 +00:00
do_not_apply_attribute_without_feature_flag.rs Add test 2024-08-09 22:02:23 -04:00
do_not_apply_attribute_without_feature_flag.stderr Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
feature-gate-do_not_recommend.rs Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
feature-gate-do_not_recommend.stderr Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
incorrect-locations.rs Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
incorrect-locations.stderr Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
simple.current.stderr Actually use the #[do_not_recommend] attribute if present 2024-05-19 08:29:27 +02:00
simple.next.stderr Actually use the #[do_not_recommend] attribute if present 2024-05-19 08:29:27 +02:00
simple.rs Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
stacked.current.stderr Actually use the #[do_not_recommend] attribute if present 2024-05-19 08:29:27 +02:00
stacked.next.stderr Actually use the #[do_not_recommend] attribute if present 2024-05-19 08:29:27 +02:00
stacked.rs Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
supress_suggestions_in_help.current.stderr Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
supress_suggestions_in_help.next.stderr Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
supress_suggestions_in_help.rs Allows #[diagnostic::do_not_recommend] to supress trait impls in suggestions as well 2024-07-11 08:14:28 +02:00
type_mismatch.current.stderr Refactor #[diagnostic::do_not_recommend] support 2024-05-29 22:59:53 +02:00
type_mismatch.next.stderr Refactor #[diagnostic::do_not_recommend] support 2024-05-29 22:59:53 +02:00
type_mismatch.rs Refactor #[diagnostic::do_not_recommend] support 2024-05-29 22:59:53 +02:00
unstable-feature.rs Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00
unstable-feature.stderr Move #[do_not_recommend] to the #[diagnostic] namespace 2024-05-21 13:14:41 +02:00