about summary refs log tree commit diff
path: root/compiler/rustc_span/src
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-09-10 20:29:10 +0200
committerGitHub <noreply@github.com>2025-09-10 20:29:10 +0200
commitbb45ea3accf536e0915991c5d9120bab8a87541e (patch)
tree301e5c15dcb2f6f64faf288a1fe2a1db1eaac790 /compiler/rustc_span/src
parent86d39a06734cae9492d83498aac9bbdf3aa20508 (diff)
parent9196844f0d86242ee3d6a446fe681b6b2d2d674c (diff)
downloadrust-bb45ea3accf536e0915991c5d9120bab8a87541e.tar.gz
rust-bb45ea3accf536e0915991c5d9120bab8a87541e.zip
Rollup merge of #146342 - folkertdev:c-variadic-errors-take-3, r=workingjubilee
Improve C-variadic error messages: part 2

tracking issue: https://github.com/rust-lang/rust/issues/44930

a reimplementation of https://github.com/rust-lang/rust/pull/143546 that builds on https://github.com/rust-lang/rust/pull/146165.

This PR

- disallows coroutines (e.g. `async fn`) from having a `...` argument
- disallows associated functions (both in traits and standard impl blocks) from having a `...` argument
- splits up a generic "ill-formed C-variadic function" into specific errors about using an incorrect ABI, not specifying an ABI, or missing the unsafe keyword

C-variadic coroutines probably don't make sense? C-variadic functions are for FFI purposes, combining that with async functions seems weird.

For associated functions, we're just cutting scope. It's probably fine, but it's probably better to explicitly allow it. So for now, at least give a more targeted error message.

Made to be reviewed commit-by-commit.

cc `@workingjubilee`
r? compiler
Diffstat (limited to 'compiler/rustc_span/src')
0 files changed, 0 insertions, 0 deletions