@@ -124,7 +124,6 @@ declare_lint_pass! {
124
124
UNSAFE_OP_IN_UNSAFE_FN ,
125
125
UNSTABLE_NAME_COLLISIONS ,
126
126
UNSTABLE_SYNTAX_PRE_EXPANSION ,
127
- UNSUPPORTED_CALLING_CONVENTIONS ,
128
127
UNUSED_ASSIGNMENTS ,
129
128
UNUSED_ASSOCIATED_TYPE_BOUNDS ,
130
129
UNUSED_ATTRIBUTES ,
@@ -3924,53 +3923,6 @@ declare_lint! {
3924
3923
crate_level_only
3925
3924
}
3926
3925
3927
- declare_lint ! {
3928
- /// The `unsupported_calling_conventions` lint is output whenever there is a use of the
3929
- /// `stdcall`, `fastcall`, `thiscall`, `vectorcall` calling conventions (or their unwind
3930
- /// variants) on targets that cannot meaningfully be supported for the requested target.
3931
- ///
3932
- /// For example `stdcall` does not make much sense for a x86_64 or, more apparently, powerpc
3933
- /// code, because this calling convention was never specified for those targets.
3934
- ///
3935
- /// Historically MSVC toolchains have fallen back to the regular C calling convention for
3936
- /// targets other than x86, but Rust doesn't really see a similar need to introduce a similar
3937
- /// hack across many more targets.
3938
- ///
3939
- /// ### Example
3940
- ///
3941
- /// ```rust,ignore (needs specific targets)
3942
- /// extern "stdcall" fn stdcall() {}
3943
- /// ```
3944
- ///
3945
- /// This will produce:
3946
- ///
3947
- /// ```text
3948
- /// warning: use of calling convention not supported on this target
3949
- /// --> $DIR/unsupported.rs:39:1
3950
- /// |
3951
- /// LL | extern "stdcall" fn stdcall() {}
3952
- /// | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3953
- /// |
3954
- /// = note: `#[warn(unsupported_calling_conventions)]` on by default
3955
- /// = warning: this was previously accepted by the compiler but is being phased out;
3956
- /// it will become a hard error in a future release!
3957
- /// = note: for more information, see issue ...
3958
- /// ```
3959
- ///
3960
- /// ### Explanation
3961
- ///
3962
- /// On most of the targets the behaviour of `stdcall` and similar calling conventions is not
3963
- /// defined at all, but was previously accepted due to a bug in the implementation of the
3964
- /// compiler.
3965
- pub UNSUPPORTED_CALLING_CONVENTIONS ,
3966
- Warn ,
3967
- "use of unsupported calling convention" ,
3968
- @future_incompatible = FutureIncompatibleInfo {
3969
- reason: FutureIncompatibilityReason :: FutureReleaseErrorDontReportInDeps ,
3970
- reference: "issue #87678 <https://github.com/rust-lang/rust/issues/87678>" ,
3971
- } ;
3972
- }
3973
-
3974
3926
declare_lint ! {
3975
3927
/// The `break_with_label_and_loop` lint detects labeled `break` expressions with
3976
3928
/// an unlabeled loop as their value expression.
0 commit comments