rust/tests/ui/c-variadic
Matthias Krüger ffdb471872
Rollup merge of #117914 - estebank:issue-85843, r=wesleywiser
On borrow return type, suggest borrowing from arg or owned return type

When we encounter a function with a return type that has an anonymous lifetime with no argument to borrow from, besides suggesting the `'static` lifetime we now also suggest changing the arguments to be borrows or changing the return type to be an owned type.

```
error[E0106]: missing lifetime specifier
  --> $DIR/variadic-ffi-6.rs:7:6
   |
LL | ) -> &usize {
   |      ^ expected named lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`
   |
LL | ) -> &'static usize {
   |       +++++++
help: instead, you are more likely to want to change one of the arguments to be borrowed...
   |
LL |     x: &usize,
   |        +
help: ...or alternatively, to want to return an owned value
   |
LL - ) -> &usize {
LL + ) -> usize {
   |
```

Fix #85843.
2023-12-12 17:40:53 +01:00
..
feature-gate-extended_varargs_abi_support.rs
feature-gate-extended_varargs_abi_support.stderr
issue-32201.rs
issue-32201.stderr
issue-86053-1.rs
issue-86053-1.stderr
issue-86053-2.rs
issue-86053-2.stderr
variadic-ffi-1.rs
variadic-ffi-1.stderr
variadic-ffi-2.rs
variadic-ffi-2.stderr
variadic-ffi-4.rs
variadic-ffi-4.stderr
variadic-ffi-6.rs
variadic-ffi-6.stderr
variadic-ffi-no-fixed-args.rs
variadic-ffi-no-fixed-args.stderr
variadic-unreachable-arg-error.rs