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