Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit d730319

Browse files
committedNov 23, 2024
show abi_unsupported_vector_types lint in future breakage reports
1 parent c49a687 commit d730319

7 files changed

+624
-1
lines changed
 

‎compiler/rustc_lint_defs/src/builtin.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5173,7 +5173,7 @@ declare_lint! {
51735173
Warn,
51745174
"this function call or definition uses a vector type which is not enabled",
51755175
@future_incompatible = FutureIncompatibleInfo {
5176-
reason: FutureIncompatibilityReason::FutureReleaseErrorDontReportInDeps,
5176+
reason: FutureIncompatibilityReason::FutureReleaseErrorReportInDeps,
51775177
reference: "issue #116558 <https://github.com/rust-lang/rust/issues/116558>",
51785178
};
51795179
}

‎tests/ui/simd-abi-checks-empty-list.stderr

+11
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,14 @@ LL | pub extern "C" fn pass_by_vec(_: SimdVec) {}
1010

1111
warning: 1 warning emitted
1212

13+
Future incompatibility report: Future breakage diagnostic:
14+
warning: this function definition uses a SIMD vector type that is not currently supported with the chosen ABI
15+
--> $DIR/simd-abi-checks-empty-list.rs:17:1
16+
|
17+
LL | pub extern "C" fn pass_by_vec(_: SimdVec) {}
18+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
19+
|
20+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
21+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
22+
= note: `#[warn(abi_unsupported_vector_types)]` on by default
23+

‎tests/ui/simd-abi-checks-s390x.z10.stderr

+164
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,167 @@ LL | extern "C" fn vector_transparent_wrapper_arg(x: TransparentWrapper<i8x16>)
109109

110110
error: aborting due to 10 previous errors
111111

112+
Future incompatibility report: Future breakage diagnostic:
113+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
114+
--> $DIR/simd-abi-checks-s390x.rs:46:1
115+
|
116+
LL | extern "C" fn vector_ret_small(x: &i8x8) -> i8x8 {
117+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
118+
|
119+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
120+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
121+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
122+
note: the lint level is defined here
123+
--> $DIR/simd-abi-checks-s390x.rs:15:9
124+
|
125+
LL | #![deny(abi_unsupported_vector_types)]
126+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
127+
128+
Future breakage diagnostic:
129+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
130+
--> $DIR/simd-abi-checks-s390x.rs:52:1
131+
|
132+
LL | extern "C" fn vector_ret(x: &i8x16) -> i8x16 {
133+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
134+
|
135+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
136+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
137+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
138+
note: the lint level is defined here
139+
--> $DIR/simd-abi-checks-s390x.rs:15:9
140+
|
141+
LL | #![deny(abi_unsupported_vector_types)]
142+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143+
144+
Future breakage diagnostic:
145+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
146+
--> $DIR/simd-abi-checks-s390x.rs:99:1
147+
|
148+
LL | / extern "C" fn vector_transparent_wrapper_ret_small(
149+
LL | | x: &TransparentWrapper<i8x8>,
150+
LL | | ) -> TransparentWrapper<i8x8> {
151+
| |_____________________________^ function defined here
152+
|
153+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
154+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
155+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
156+
note: the lint level is defined here
157+
--> $DIR/simd-abi-checks-s390x.rs:15:9
158+
|
159+
LL | #![deny(abi_unsupported_vector_types)]
160+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
161+
162+
Future breakage diagnostic:
163+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
164+
--> $DIR/simd-abi-checks-s390x.rs:107:1
165+
|
166+
LL | / extern "C" fn vector_transparent_wrapper_ret(
167+
LL | | x: &TransparentWrapper<i8x16>,
168+
LL | | ) -> TransparentWrapper<i8x16> {
169+
| |______________________________^ function defined here
170+
|
171+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
172+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
173+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
174+
note: the lint level is defined here
175+
--> $DIR/simd-abi-checks-s390x.rs:15:9
176+
|
177+
LL | #![deny(abi_unsupported_vector_types)]
178+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179+
180+
Future breakage diagnostic:
181+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
182+
--> $DIR/simd-abi-checks-s390x.rs:123:1
183+
|
184+
LL | extern "C" fn vector_arg_small(x: i8x8) -> i64 {
185+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
186+
|
187+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
188+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
189+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
190+
note: the lint level is defined here
191+
--> $DIR/simd-abi-checks-s390x.rs:15:9
192+
|
193+
LL | #![deny(abi_unsupported_vector_types)]
194+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195+
196+
Future breakage diagnostic:
197+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
198+
--> $DIR/simd-abi-checks-s390x.rs:129:1
199+
|
200+
LL | extern "C" fn vector_arg(x: i8x16) -> i64 {
201+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
202+
|
203+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
204+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
205+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
206+
note: the lint level is defined here
207+
--> $DIR/simd-abi-checks-s390x.rs:15:9
208+
|
209+
LL | #![deny(abi_unsupported_vector_types)]
210+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
211+
212+
Future breakage diagnostic:
213+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
214+
--> $DIR/simd-abi-checks-s390x.rs:141:1
215+
|
216+
LL | extern "C" fn vector_wrapper_arg_small(x: Wrapper<i8x8>) -> i64 {
217+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
218+
|
219+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
220+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
221+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
222+
note: the lint level is defined here
223+
--> $DIR/simd-abi-checks-s390x.rs:15:9
224+
|
225+
LL | #![deny(abi_unsupported_vector_types)]
226+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
227+
228+
Future breakage diagnostic:
229+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
230+
--> $DIR/simd-abi-checks-s390x.rs:147:1
231+
|
232+
LL | extern "C" fn vector_wrapper_arg(x: Wrapper<i8x16>) -> i64 {
233+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
234+
|
235+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
236+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
237+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
238+
note: the lint level is defined here
239+
--> $DIR/simd-abi-checks-s390x.rs:15:9
240+
|
241+
LL | #![deny(abi_unsupported_vector_types)]
242+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243+
244+
Future breakage diagnostic:
245+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
246+
--> $DIR/simd-abi-checks-s390x.rs:159:1
247+
|
248+
LL | extern "C" fn vector_transparent_wrapper_arg_small(x: TransparentWrapper<i8x8>) -> i64 {
249+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
250+
|
251+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
252+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
253+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
254+
note: the lint level is defined here
255+
--> $DIR/simd-abi-checks-s390x.rs:15:9
256+
|
257+
LL | #![deny(abi_unsupported_vector_types)]
258+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
259+
260+
Future breakage diagnostic:
261+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
262+
--> $DIR/simd-abi-checks-s390x.rs:165:1
263+
|
264+
LL | extern "C" fn vector_transparent_wrapper_arg(x: TransparentWrapper<i8x16>) -> i64 {
265+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
266+
|
267+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
268+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
269+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
270+
note: the lint level is defined here
271+
--> $DIR/simd-abi-checks-s390x.rs:15:9
272+
|
273+
LL | #![deny(abi_unsupported_vector_types)]
274+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275+

‎tests/ui/simd-abi-checks-s390x.z13_no_vector.stderr

+164
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,167 @@ LL | extern "C" fn vector_transparent_wrapper_arg(x: TransparentWrapper<i8x16>)
109109

110110
error: aborting due to 10 previous errors
111111

112+
Future incompatibility report: Future breakage diagnostic:
113+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
114+
--> $DIR/simd-abi-checks-s390x.rs:46:1
115+
|
116+
LL | extern "C" fn vector_ret_small(x: &i8x8) -> i8x8 {
117+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
118+
|
119+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
120+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
121+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
122+
note: the lint level is defined here
123+
--> $DIR/simd-abi-checks-s390x.rs:15:9
124+
|
125+
LL | #![deny(abi_unsupported_vector_types)]
126+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
127+
128+
Future breakage diagnostic:
129+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
130+
--> $DIR/simd-abi-checks-s390x.rs:52:1
131+
|
132+
LL | extern "C" fn vector_ret(x: &i8x16) -> i8x16 {
133+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
134+
|
135+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
136+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
137+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
138+
note: the lint level is defined here
139+
--> $DIR/simd-abi-checks-s390x.rs:15:9
140+
|
141+
LL | #![deny(abi_unsupported_vector_types)]
142+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143+
144+
Future breakage diagnostic:
145+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
146+
--> $DIR/simd-abi-checks-s390x.rs:99:1
147+
|
148+
LL | / extern "C" fn vector_transparent_wrapper_ret_small(
149+
LL | | x: &TransparentWrapper<i8x8>,
150+
LL | | ) -> TransparentWrapper<i8x8> {
151+
| |_____________________________^ function defined here
152+
|
153+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
154+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
155+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
156+
note: the lint level is defined here
157+
--> $DIR/simd-abi-checks-s390x.rs:15:9
158+
|
159+
LL | #![deny(abi_unsupported_vector_types)]
160+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
161+
162+
Future breakage diagnostic:
163+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
164+
--> $DIR/simd-abi-checks-s390x.rs:107:1
165+
|
166+
LL | / extern "C" fn vector_transparent_wrapper_ret(
167+
LL | | x: &TransparentWrapper<i8x16>,
168+
LL | | ) -> TransparentWrapper<i8x16> {
169+
| |______________________________^ function defined here
170+
|
171+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
172+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
173+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
174+
note: the lint level is defined here
175+
--> $DIR/simd-abi-checks-s390x.rs:15:9
176+
|
177+
LL | #![deny(abi_unsupported_vector_types)]
178+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179+
180+
Future breakage diagnostic:
181+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
182+
--> $DIR/simd-abi-checks-s390x.rs:123:1
183+
|
184+
LL | extern "C" fn vector_arg_small(x: i8x8) -> i64 {
185+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
186+
|
187+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
188+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
189+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
190+
note: the lint level is defined here
191+
--> $DIR/simd-abi-checks-s390x.rs:15:9
192+
|
193+
LL | #![deny(abi_unsupported_vector_types)]
194+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195+
196+
Future breakage diagnostic:
197+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
198+
--> $DIR/simd-abi-checks-s390x.rs:129:1
199+
|
200+
LL | extern "C" fn vector_arg(x: i8x16) -> i64 {
201+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
202+
|
203+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
204+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
205+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
206+
note: the lint level is defined here
207+
--> $DIR/simd-abi-checks-s390x.rs:15:9
208+
|
209+
LL | #![deny(abi_unsupported_vector_types)]
210+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
211+
212+
Future breakage diagnostic:
213+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
214+
--> $DIR/simd-abi-checks-s390x.rs:141:1
215+
|
216+
LL | extern "C" fn vector_wrapper_arg_small(x: Wrapper<i8x8>) -> i64 {
217+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
218+
|
219+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
220+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
221+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
222+
note: the lint level is defined here
223+
--> $DIR/simd-abi-checks-s390x.rs:15:9
224+
|
225+
LL | #![deny(abi_unsupported_vector_types)]
226+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
227+
228+
Future breakage diagnostic:
229+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
230+
--> $DIR/simd-abi-checks-s390x.rs:147:1
231+
|
232+
LL | extern "C" fn vector_wrapper_arg(x: Wrapper<i8x16>) -> i64 {
233+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
234+
|
235+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
236+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
237+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
238+
note: the lint level is defined here
239+
--> $DIR/simd-abi-checks-s390x.rs:15:9
240+
|
241+
LL | #![deny(abi_unsupported_vector_types)]
242+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243+
244+
Future breakage diagnostic:
245+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
246+
--> $DIR/simd-abi-checks-s390x.rs:159:1
247+
|
248+
LL | extern "C" fn vector_transparent_wrapper_arg_small(x: TransparentWrapper<i8x8>) -> i64 {
249+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
250+
|
251+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
252+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
253+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
254+
note: the lint level is defined here
255+
--> $DIR/simd-abi-checks-s390x.rs:15:9
256+
|
257+
LL | #![deny(abi_unsupported_vector_types)]
258+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
259+
260+
Future breakage diagnostic:
261+
error: this function definition uses a SIMD vector type that (with the chosen ABI) requires the `vector` target feature, which is not enabled
262+
--> $DIR/simd-abi-checks-s390x.rs:165:1
263+
|
264+
LL | extern "C" fn vector_transparent_wrapper_arg(x: TransparentWrapper<i8x16>) -> i64 {
265+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
266+
|
267+
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
268+
= note: for more information, see issue #116558 <https://github.com/rust-lang/rust/issues/116558>
269+
= help: consider enabling it globally (`-C target-feature=+vector`) or locally (`#[target_feature(enable="vector")]`)
270+
note: the lint level is defined here
271+
--> $DIR/simd-abi-checks-s390x.rs:15:9
272+
|
273+
LL | #![deny(abi_unsupported_vector_types)]
274+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275+
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Failed to load comments.