Reading issue
rust-lang / rust · Issue No. 160495
cc #160491
see that PR for more detail and the FIXME(#160495) in the code, e.g.
results in
error: functions cannot be both `async` and C-variadic
--> $DIR/not-async.rs:4:1
|
LL | async unsafe extern "C" fn fn_cannot_be_async(x: isize, _: ...) {}
| ^^^^^ `async` because of this ^^^^^^ C-variadic because of this
error: functions cannot be both `async` and C-variadic
--> $DIR/not-async.rs:11:5
|
LL | async unsafe extern "C" fn method_cannot_be_async(x: isize, _: ...) {}
| ^^^^^ `async` because of this ^^^^^^ C-variadic because of this
error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
--> $DIR/not-async.rs:4:65
|
LL | async unsafe extern "C" fn fn_cannot_be_async(x: isize, _: ...) {}
| ----------------------------------------------------------------^^
| | |
| | opaque type defined here
| hidden type `{async fn body of fn_cannot_be_async()}` captures the anonymous lifetime as defined here
error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
--> $DIR/not-async.rs:11:73
|
LL | async unsafe extern "C" fn method_cannot_be_async(x: isize, _: ...) {}
| --------------------------------------------------------------------^^
| | |
| | opaque type defined here
| hidden type `{async fn body of S::method_cannot_be_async()}` captures the anonymous lifetime as defined here
error: aborting due to 4 previous errors
with #160491 but should instead explicitly talk about the fact that we're capturing the &VaList here.
Relay reads this issue against the repository's contribution signals: the files it is likely to touch, how the maintainers triage work this size, and what the first contribution would exercise.
The full analysis for this issue is still being assembled. Until then, the description above and the thread on GitHub are the most reliable context.