rust/compiler/rustc_hir_analysis/src
bors b6685d748f Auto merge of #141435 - RalfJung:unsupported_calling_conventions, r=workingjubilee
Add (back) `unsupported_calling_conventions` lint to reject more invalid calling conventions

This adds back the `unsupported_calling_conventions` lint that was removed in https://github.com/rust-lang/rust/pull/129935, in order to start the process of dealing with https://github.com/rust-lang/rust/issues/137018. Specifically, we are going for the plan laid out [here](https://github.com/rust-lang/rust/issues/137018#issuecomment-2672118326):
- thiscall, stdcall, fastcall, cdecl should only be accepted on x86-32
- vectorcall should only be accepted on x86-32 and x86-64

The difference to the status quo is that:
- We stop accepting stdcall, fastcall on targets that are windows && non-x86-32 (we already don't accept these on targets that are non-windows && non-x86-32)
- We stop accepting cdecl on targets that are non-x86-32
- (There is no difference for thiscall, this was already a hard error on non-x86-32)
- We stop accepting vectorcall on targets that are windows && non-x86-*

Vectorcall is an unstable ABI so we can just make this a hard error immediately. The others are stable, so we emit the `unsupported_calling_conventions` forward-compat lint. I set up the lint to show up in dependencies via cargo's future-compat report immediately, but we could also make it show up just for the local crate first if that is preferred.

try-job: i686-msvc-1
try-job: x86_64-msvc-1
try-job: test-various
2025-06-09 05:21:49 +00:00
..
check Auto merge of #141435 - RalfJung:unsupported_calling_conventions, r=workingjubilee 2025-06-09 05:21:49 +00:00
coherence Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
collect Reorder fields in hir::ItemKind variants. 2025-05-30 02:23:20 +10:00
errors Don't compute name of associated item if it's an RPITIT 2025-04-20 16:08:39 +00:00
hir_ty_lowering Rollup merge of #142043 - estebank:const-suggestion, r=wesleywiser 2025-06-06 23:53:17 +02:00
impl_wf_check convert some GenericArg to Term 2025-04-26 02:05:31 +00:00
outlives Fix some var names 2025-05-27 11:14:47 +00:00
variance Fix some var names 2025-05-27 11:14:47 +00:00
autoderef.rs respect the tcx's recursion limit when peeling 2025-04-16 15:42:12 -07:00
check_unused.rs Move methods from Map to TyCtxt, part 4. 2025-03-12 08:55:37 +11:00
collect.rs Remove CollectItemTypesVisitor 2025-06-05 13:37:34 +00:00
constrained_generic_params.rs Remove weak alias terminology 2025-04-24 11:59:20 +01:00
delegation.rs Stop relying on rustc_type_ir in non-type-system crates 2025-03-15 06:42:48 +00:00
errors.rs intrinsics: use const generic to set atomic ordering 2025-06-07 21:45:58 +02:00
hir_wf_check.rs Reorder fields in hir::ItemKind variants. 2025-05-30 02:23:20 +10:00
impl_wf_check.rs Move name field from AssocItem to AssocKind variants. 2025-04-15 08:07:15 +10:00
lib.rs Auto merge of #141950 - oli-obk:big-body-owner-loop, r=compiler-errors 2025-06-07 20:06:23 +00:00