bors
ed43cbcb88
Auto merge of #134299 - RalfJung:remove-start, r=compiler-errors
...
remove support for the (unstable) #[start] attribute
As explained by `@Noratrieb:`
`#[start]` should be deleted. It's nothing but an accidentally leaked implementation detail that's a not very useful mix between "portable" entrypoint logic and bad abstraction.
I think the way the stable user-facing entrypoint should work (and works today on stable) is pretty simple:
- `std`-using cross-platform programs should use `fn main()`. the compiler, together with `std`, will then ensure that code ends up at `main` (by having a platform-specific entrypoint that gets directed through `lang_start` in `std` to `main` - but that's just an implementation detail)
- `no_std` platform-specific programs should use `#![no_main]` and define their own platform-specific entrypoint symbol with `#[no_mangle]`, like `main`, `_start`, `WinMain` or `my_embedded_platform_wants_to_start_here`. most of them only support a single platform anyways, and need cfg for the different platform's ways of passing arguments or other things *anyways*
`#[start]` is in a super weird position of being neither of those two. It tries to pretend that it's cross-platform, but its signature is a total lie. Those arguments are just stubbed out to zero on ~~Windows~~ wasm, for example. It also only handles the platform-specific entrypoints for a few platforms that are supported by `std`, like Windows or Unix-likes. `my_embedded_platform_wants_to_start_here` can't use it, and neither could a libc-less Linux program.
So we have an attribute that only works in some cases anyways, that has a signature that's a total lie (and a signature that, as I might want to add, has changed recently, and that I definitely would not be comfortable giving *any* stability guarantees on), and where there's a pretty easy way to get things working without it in the first place.
Note that this feature has **not** been RFCed in the first place.
*This comment was posted [in May](https://github.com/rust-lang/rust/issues/29633#issuecomment-2088596042 ) and so far nobody spoke up in that issue with a usecase that would require keeping the attribute.*
Closes https://github.com/rust-lang/rust/issues/29633
try-job: x86_64-gnu-nopt
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
2025-01-21 19:46:20 +00:00
..
2024-02-16 20:02:50 +00:00
2024-10-17 12:07:19 +02:00
2023-01-11 09:32:08 +00:00
2024-08-19 21:39:57 +02:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-11-23 08:57:25 -07:00
2024-12-23 22:15:32 +00:00
2024-12-23 22:15:32 +00:00
2024-12-23 22:15:32 +00:00
2024-12-23 22:15:32 +00:00
2024-12-23 22:15:32 +00:00
2024-12-23 22:15:32 +00:00
2024-12-27 19:58:16 +11:00
2024-09-15 09:51:32 +02:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-10-24 03:17:28 -04:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-04-03 15:59:21 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-14 11:00:30 +00:00
2024-09-25 13:26:48 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-11-27 22:21:33 +01:00
2023-01-11 09:32:08 +00:00
2024-08-10 00:54:16 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-07-14 13:50:09 +09:00
2024-02-14 11:00:30 +00:00
2024-02-14 11:00:30 +00:00
2023-01-11 09:32:08 +00:00
2024-07-14 13:50:09 +09:00
2023-01-11 09:32:08 +00:00
2024-07-14 13:50:09 +09:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-06-25 10:00:30 +08:00
2023-01-11 09:32:08 +00:00
2024-04-14 09:42:53 -04:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-11-24 19:15:52 +01:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-10-19 09:44:37 +00:00
2024-10-19 09:44:37 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-02-01 16:18:03 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-02-17 23:16:30 -08:00
2024-11-08 09:16:00 +01:00
2024-11-08 09:16:00 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-07-22 22:04:49 +00:00
2024-07-22 22:51:53 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-06-21 19:00:18 -04:00
2024-04-09 10:23:58 +00:00
2024-09-26 17:17:11 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-05 10:17:31 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2025-01-02 23:39:17 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-01-05 09:30:27 +00:00
2024-01-05 10:00:59 +00:00
2024-12-27 19:58:16 +11:00
2023-12-15 16:12:27 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-08-10 00:54:16 +00:00
2024-08-10 00:54:16 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-03-08 00:00:18 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-08-23 23:00:45 +00:00
2024-08-23 23:00:45 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-10-30 22:12:07 +00:00
2023-01-11 09:32:08 +00:00
2023-12-07 22:33:56 +01:00
2023-01-11 21:30:10 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2025-01-15 01:26:24 +00:00
2024-01-11 09:03:26 +00:00
2024-01-11 09:03:26 +00:00
2024-05-30 22:52:33 +02:00
2025-01-06 17:58:30 +00:00
2023-01-11 09:32:08 +00:00
2024-07-18 00:00:04 +00:00
2025-01-16 16:34:05 +08:00
2025-01-16 16:34:05 +08:00
2023-01-11 09:32:08 +00:00
2024-07-18 00:00:04 +00:00
2023-01-11 09:32:08 +00:00
2024-07-18 00:00:04 +00:00
2024-05-20 11:13:10 -04:00
2024-05-20 11:13:10 -04:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-12-15 16:12:27 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-07-25 12:08:44 +01:00
2023-11-24 19:15:52 +01:00
2024-12-27 19:58:16 +11:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-10-29 16:26:57 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-10-29 16:26:57 +00:00
2023-10-04 02:04:14 +00:00
2023-11-24 19:15:52 +01:00
2023-10-20 21:10:38 +00:00
2024-08-02 03:22:56 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-11-08 09:16:00 +01:00
2024-11-08 09:16:00 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-05 10:17:31 +00:00
2024-03-07 06:27:09 +00:00
2024-02-05 10:17:31 +00:00
2024-03-07 06:27:09 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-02-13 18:41:18 +00:00
2023-01-11 09:32:08 +00:00
2024-02-01 16:18:03 +01:00
2023-01-11 09:32:08 +00:00
2024-07-04 02:41:13 +00:00
2024-02-10 23:13:47 +01:00
2024-02-10 23:13:47 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-02-14 20:15:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-07-29 23:49:51 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-07-11 20:39:24 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-08-02 13:40:28 +03:00
2023-08-02 13:40:28 +03:00
2024-04-12 12:59:40 +09:00
2024-04-12 12:59:40 +09:00
2024-04-12 12:59:40 +09:00
2023-01-11 09:32:08 +00:00
2025-01-18 20:33:15 +00:00
2024-12-23 20:25:41 +00:00
2024-12-23 20:25:41 +00:00
2023-12-28 19:46:40 +01:00
2023-12-28 19:46:40 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-30 08:26:13 -08:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-12-27 19:58:16 +11:00
2023-11-24 19:15:52 +01:00
2024-12-27 19:58:16 +11:00
2023-11-24 19:15:52 +01:00
2023-11-23 12:25:41 +00:00
2023-11-23 12:25:41 +00:00
2024-02-16 20:02:50 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-07-26 14:41:56 -04:00
2023-01-11 09:32:08 +00:00
2024-07-26 14:41:56 -04:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-04-24 22:21:15 +00:00
2023-01-11 09:32:08 +00:00
2024-04-24 22:21:15 +00:00
2023-01-11 09:32:08 +00:00
2024-04-24 22:21:15 +00:00
2023-01-11 09:32:08 +00:00
2024-04-24 22:21:15 +00:00
2024-02-25 08:15:44 +01:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-02-16 20:02:50 +00:00
2024-06-21 19:00:18 -04:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-04-17 13:00:43 +02:00
2024-04-17 13:00:43 +02:00
2024-12-27 19:58:16 +11:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-08 08:10:43 +00:00
2024-02-08 08:10:43 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-07-12 03:02:57 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2024-07-18 20:08:38 +00:00
2024-02-16 20:02:50 +00:00
2024-08-31 14:00:54 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-18 13:14:56 +13:00
2023-01-18 13:14:56 +13:00
2023-01-11 09:32:08 +00:00
2024-10-04 14:06:48 +02:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-08-29 14:47:28 -07:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-16 17:00:23 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-11-29 00:45:14 +01:00
2024-11-29 20:49:06 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-12-20 22:53:56 -05:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-12-02 23:56:24 -08:00
2024-12-02 23:56:24 -08:00
2023-02-22 08:40:47 -07:00
2023-11-24 19:15:52 +01:00
2024-03-20 17:29:58 +00:00
2024-03-20 17:29:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-03-08 19:08:13 +00:00
2024-03-08 19:08:13 +00:00
2023-01-11 09:32:08 +00:00
2024-01-13 12:46:58 -05:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:13 +00:00
2023-01-11 09:32:08 +00:00
2024-04-17 13:00:43 +02:00
2024-04-17 13:00:43 +02:00
2024-01-09 21:08:16 +00:00
2024-03-07 14:26:31 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-05-18 01:47:55 +00:00
2024-11-27 03:34:58 +00:00
2023-01-11 09:32:08 +00:00
2023-09-21 22:20:58 +02:00
2024-07-17 11:01:29 +01:00
2024-07-17 11:01:29 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-10-05 01:04:41 +00:00
2023-01-11 09:32:08 +00:00
2024-08-02 03:22:56 +00:00
2024-09-16 10:56:22 -04:00
2024-09-16 10:56:22 -04:00
2024-09-16 10:56:22 -04:00
2024-09-16 10:56:22 -04:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00