Files
rust/tests/ui
bors d19980e1ce Auto merge of #117500 - RalfJung:aggregate-abi, r=davidtwco
Ensure sanity of all computed ABIs

This moves the ABI sanity assertions from the codegen backend to the ABI computation logic. Sadly, due to past mistakes, we [have to](https://github.com/rust-lang/rust/pull/117351#issuecomment-1788495503) be able to compute a sane ABI for nonsensical function types like `extern "C" fn(str) -> str`.  So to make the sanity check pass we first need to make all ABI adjustment deal with unsized types... and we have no shared infrastructure for those adjustments, so that's a bunch of copy-paste. At least we have assertions failing loudly when one accidentally sets a different mode for an unsized argument.

To achieve this, this re-lands the parts of https://github.com/rust-lang/rust/pull/80594 that got reverted in https://github.com/rust-lang/rust/pull/81388.  To avoid breaking wasm ABI again, that ABI now explicitly opts-in to the (wrong, broken) ABI that we currently keep for backwards compatibility. That's still better than having *every* ABI use the wrong broken default!

Cc `@bjorn3`
Fixes https://github.com/rust-lang/rust/issues/115845
2023-11-19 18:42:20 +00:00
..
2023-10-17 17:33:55 +00:00
2023-10-30 22:19:17 +00:00
2023-10-30 22:19:17 +00:00
2023-10-28 23:11:03 -07:00
2023-11-13 16:25:16 -08:00
2023-10-08 10:06:17 +00:00
2023-10-28 23:11:03 -07:00
2023-10-04 08:01:11 +08:00
2023-10-08 10:06:17 +00:00
2023-05-30 13:03:40 +02:00
2023-10-04 08:01:11 +08:00
2023-11-16 17:00:23 +00:00
2023-11-09 10:40:55 -05:00
2023-07-17 22:06:32 +00:00
2023-10-20 21:14:01 +00:00
2023-09-06 12:09:29 +03:00
2023-11-02 18:16:37 +01:00
2023-11-16 17:00:23 +00:00
2023-11-16 17:00:23 +00:00
2023-10-20 21:14:01 +00:00
2023-10-28 23:11:03 -07:00
2023-10-08 10:06:17 +00:00
2023-08-28 17:47:37 -03:00
2023-11-14 13:41:28 +00:00
2023-10-20 21:14:01 +00:00
2023-04-29 13:01:46 +01:00
2023-07-29 11:47:26 +02:00
2023-10-11 04:55:55 +02:00
2023-10-20 21:14:01 +00:00
2023-10-28 23:11:03 -07:00
2023-11-07 05:23:09 +00:00
2023-08-14 16:57:51 -07:00
2023-10-02 23:14:29 +00:00
2023-09-18 17:29:13 +01:00
2023-10-20 21:14:01 +00:00
2023-11-16 17:00:23 +00:00
2023-11-16 17:00:23 +00:00
2023-04-29 13:01:46 +01:00
2023-10-05 01:04:41 +00:00
2023-04-13 22:10:26 -05:00
2023-04-13 22:10:26 -05:00
2023-09-10 23:06:14 +02:00
2023-09-10 23:06:14 +02:00
2023-10-20 21:14:01 +00:00