diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2021-09-30 18:05:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-30 18:05:20 -0700 |
| commit | 730d86f521c6ccbe3c68f8f48243d289c4a124ba (patch) | |
| tree | b7075e5ecad956c1bc9b9c17ec0d8cf4546876b7 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 23d5457e6d8d4d1d943d8368af680545fb6222b2 (diff) | |
| parent | 87ba8d24d608276a54a7fcbf00627353e64a5813 (diff) | |
| download | rust-730d86f521c6ccbe3c68f8f48243d289c4a124ba.tar.gz rust-730d86f521c6ccbe3c68f8f48243d289c4a124ba.zip | |
Rollup merge of #88782 - asquared31415:issue-79559, r=cjgillot
Fix ICE when `start` lang item has wrong generics In my previous pr #87875 I missed the requirements on the `start` lang item due to its relative difficulty to test and opting for more conservative estimates. This fixes that by updating the requirement to be exactly one generic type. The `start` lang item should have exactly one generic type for the return type of the `main` fn ptr passed to it. I believe having zero would previously *sometimes* compile (often with the use of `fn() -> ()` as the fn ptr but it was likely UB to call if the return type of `main` was not `()` as far as I know) however it also sometimes would not for various errors including ICEs and LLVM errors depending on exact situations. Having more than 1 generic has always failed with an ICE because only the one generic type is expected and provided. Fixes #79559, fixes #73584, fixes #83117 (all duplicates) Relevant to #9307 r? ````@cjgillot````
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
