rust/tests/ui/abi
bors 4354192429 Auto merge of #114201 - Centri3:explicit-repr-rust, r=WaffleLapkin
Allow explicit `#[repr(Rust)]`

This is identical to no `repr()` at all. For `Rust, packed` and `Rust, align(x)`, it should be the same as no `Rust` at all (as, afaik, `#[repr(align(16))]` uses the Rust ABI.)

The main use case for this is being able to explicitly say "I want to use the Rust ABI" in very very rare circumstances where the first obvious choice would be the C ABI yet is undesirable, which is already possible with functions as `extern "Rust"`. This would be useful for silencing https://github.com/rust-lang/rust-clippy/pull/11253. It's also more consistent with `extern`.

The lack of this also tripped me up a bit when I was new to Rust, as I expected this to be possible.
2023-08-25 00:02:54 +00:00
..
cross-crate
extern
foreign
issues
mir
numbers-arithmetic
statics
struct-enums
union
abi-sysv64-arg-passing.rs
abi-sysv64-register-usage.rs
abi-typo-unstable.rs
abi-typo-unstable.stderr
anon-extern-mod.rs
c-stack-as-value.rs
c-stack-returning-int64.rs
cabi-int-widening.rs
explicit_repr_rust.rs
homogenous-floats-target-feature-mixup.rs
issue-28676.rs
issue-94223.rs
lib-defaults.rs
nullable-pointer-ffi-compat.rs
relocation_model_pic.rs Add the relocation_model to the cfg 2023-08-18 19:57:28 +02:00
riscv-discoverability-guidance.riscv32.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
riscv-discoverability-guidance.riscv64.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
riscv-discoverability-guidance.rs feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
rustcall-generic.rs
segfault-no-out-of-stack.rs
stack-probes-lto.rs Replace ignore-everything with only-arch 2023-07-29 15:49:07 -07:00
stack-probes.rs Replace ignore-everything with only-arch 2023-07-29 15:49:07 -07:00
stack-protector.rs Fix stack-protector.rs on LLVM 17 2023-08-07 20:35:55 +02:00
unsupported.aarch64.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.arm.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.i686.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.riscv32.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.riscv64.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.rs feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
unsupported.x64.stderr feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
variadic-ffi.rs
x86stdcall2.rs
x86stdcall.rs