Skip to content

Rollup of 8 pull requests #140161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 21 commits into from
Closed

Conversation

ChrisDenton
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Berrysoft and others added 21 commits April 10, 2025 15:12
Extends the change from rust-lang#139653, which was on expressions, to literals.

Fixes rust-lang#140098.
Includes the following changes:

* Provide `abort` on AVR [1]

[1]: rust-lang/compiler-builtins#830
…pes, r=fee1-dead,traviscross

make abi_unsupported_vector_types a hard error

Fixes rust-lang#116558 by completing the transition; see that issue for context. The lint was introduced with Rust 1.84 and this has been shown in cargo's future breakage reports since Rust 1.85, released 6 weeks ago, and so far we got 0 complaints by users. There's not even a backlink on the tracking issue. We did a [crater run](rust-lang#127731 (comment)) when the lint was originally added and found no breakage. So I don't think we need another crater run now, but I can do one if the team prefers that.

rust-lang#131800 is done, so for most current targets (in particular, all tier 1 and tier 2 targets) we have the information to implement this check (modulo the targets where we don't properly support SIMD vectors yet, see the sub-issues of rust-lang#116558). If a new target gets added in the future, it will default to reject all SIMD vector types until proper information is added, which is the default we want.

This will need approval by for `@rust-lang/lang.` Cc `@workingjubilee` `@veluca93`

try-job: test-various
…boet

Use posix_spawn on cygwin

r? `@joboet`

Depends on:
- [x] rust-lang/libc#4387
- [x] rust-lang#140081
handle function alignment in miri

tracking issue: rust-lang#82232
Fixes rust-lang/miri#4282

The `#[repr(align(N))]` attribute on functions was ignored when using miri. For such a function, its address should be a multiple of `N`.

There is some further discussion in the thread [#t-compiler/const-eval > function address alignment](https://rust-lang.zulipchat.com/#narrow/channel/146212-t-compiler.2Fconst-eval/topic/function.20address.20alignment) on how `dyn Fn` should be handled. The behavior there appears to be consistent between miri and nightly, though both may be incorrect. In any case, that can be resolved separately.
…ils-on-impl-block, r=ZuseZ4

Fix auto diff failing on inherent impl blocks

closes: rust-lang#139557

r? `@ZuseZ4`
Update books

## rust-lang/nomicon

1 commits in 0c10c30cc54736c5c194ce98c50e2de84eeb6e79..c76a20f0d987145dcedf05c5c073ce8d91f2e82a
2025-04-15 20:54:57 UTC to 2025-04-15 20:54:57 UTC

- Say that dereferencing a pointer to a ZST is no longer undefined (rust-lang/nomicon#467)

## rust-lang/reference

7 commits in 3340922df189bddcbaad17dc3927d51a76bcd5ed..3bf3402aea982b876eb56c87da17b0685c6461d5
2025-04-18 13:44:45 UTC to 2025-04-17 17:27:01 UTC

- Use `cfg(false)` instead of `cfg(FALSE)` (rust-lang/reference#1763)
-     Add `cfg(true)` and `cfg(false)` to conditional compilation (RFC 3695) (rust-lang/reference#1762)
- Refactor rendering with `RenderCtx` (rust-lang/reference#1796)
- attributes/codegen: update aarch64 features (rust-lang/reference#1791)
- Simplify GenericParams grammar (rust-lang/reference#1795)
- Add rule identifiers for the ABI chapter (rust-lang/reference#1793)
- Remove broken footnote links from grammar summary (rust-lang/reference#1794)
…nkov

Handle another negated literal in `eat_token_lit`.

Extends the change from rust-lang#139653, which was on expressions, to literals.

Fixes rust-lang#140098.

r? `@petrochenkov`
Update `compiler_builtins` to 0.1.156

Includes the following changes:

* Provide `abort` on AVR [1]

[1]: rust-lang/compiler-builtins#830
test_nan: ensure the NAN contant is quiet

Follow-up to rust-lang#139483

r? `@tgross35`
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Apr 22, 2025
@ChrisDenton
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 22, 2025

📌 Commit 6864ec4 has been approved by ChrisDenton

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 22, 2025
@bors
Copy link
Collaborator

bors commented Apr 22, 2025

⌛ Testing commit 6864ec4 with merge 6d35f2a...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 22, 2025
…enton

Rollup of 8 pull requests

Successful merges:

 - rust-lang#139309 (make abi_unsupported_vector_types a hard error)
 - rust-lang#139617 (Use posix_spawn on cygwin)
 - rust-lang#140072 (handle function alignment in miri)
 - rust-lang#140104 (Fix auto diff failing on inherent impl blocks)
 - rust-lang#140124 (Update books)
 - rust-lang#140144 (Handle another negated literal in `eat_token_lit`.)
 - rust-lang#140146 (Update `compiler_builtins` to 0.1.156)
 - rust-lang#140149 (test_nan: ensure the NAN contant is quiet)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job armhf-gnu failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [codegen] tests/codegen/const-vector.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/const-vector.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=arm-unknown-linux-gnueabihf" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/const-vector/const-vector.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Clinker=arm-linux-gnueabihf-gcc" "-C" "no-prepopulate-passes" "-Copt-level=0"
stdout: none
--- stderr -------------------------------
warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:30:21
   |
30 |     fn test_i8x2(a: i8x2);
   |                     ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^
   = note: `#[warn(improper_ctypes)]` on by default

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:31:30
   |
31 |     fn test_i8x2_two_args(a: i8x2, b: i8x2);
   |                              ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:31:39
   |
31 |     fn test_i8x2_two_args(a: i8x2, b: i8x2);
   |                                       ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:32:32
   |
32 |     fn test_i8x2_mixed_args(a: i8x2, c: i32, b: i8x2);
   |                                ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:32:49
   |
32 |     fn test_i8x2_mixed_args(a: i8x2, c: i32, b: i8x2);
   |                                                 ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:33:25
   |
33 |     fn test_i8x2_arr(a: i8x2);
   |                         ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `f32x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:34:22
   |
34 |     fn test_f32x2(a: f32x2);
   |                      ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:20:1
   |
20 | pub struct f32x2([f32; 2]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` block uses type `f32x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:35:26
   |
35 |     fn test_f32x2_arr(a: f32x2);
   |                          ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:20:1
   |
20 | pub struct f32x2([f32; 2]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` block uses type `Simd<i32, 4>`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:36:21
   |
36 |     fn test_simd(a: Simd<i32, 4>);
   |                     ^^^^^^^^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:24:1
   |
24 | pub struct Simd<T, const N: usize>([T; N]);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `extern` block uses type `Simd<i32, 3>`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:37:31
   |
37 |     fn test_simd_unaligned(a: Simd<i32, 3>);
   |                               ^^^^^^^^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:24:1
   |
24 | pub struct Simd<T, const N: usize>([T; N]);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:48:9
   |
48 |         test_i8x2(const { i8x2([32, 64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:51:9
   |
51 |         test_i8x2_two_args(const { i8x2([32, 64]) }, const { i8x2([8, 16]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:54:9
   |
54 |         test_i8x2_mixed_args(const { i8x2([32, 64]) }, 43, const { i8x2([8, 16]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:57:9
   |
57 |         test_i8x2_arr(const { i8x2([32, 64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `f32x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:60:9
   |
60 |         test_f32x2(const { f32x2([0.32, 0.64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `f32x2` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:63:9
   |
63 |         test_f32x2_arr(const { f32x2([0.32, 0.64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function call uses SIMD vector type `Simd<i32, 4>` which (with the chosen ABI) requires the `neon` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:66:9
   |
66 |         test_simd(const { Simd::<i32, 4>([2, 4, 6, 8]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: aborting due to 7 previous errors; 10 warnings emitted
------------------------------------------


---- [codegen] tests/codegen/repr/transparent.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/repr/transparent.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=arm-unknown-linux-gnueabihf" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/repr/transparent/transparent.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Clinker=arm-linux-gnueabihf-gcc" "-Copt-level=3" "-C" "no-prepopulate-passes"
stdout: none
--- stderr -------------------------------
warning: type `f32x4` should have an upper camel case name
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:135:8
    |
135 | struct f32x4([f32; 4]);
    |        ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32x4`
    |
    = note: `#[warn(non_camel_case_types)]` on by default

warning: `extern` fn uses type `f32x4`, which is not FFI-safe
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:143:34
    |
143 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    |                                  ^^^^^^ not FFI-safe
    |
    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
    = note: this struct has unspecified layout
note: the type is defined here
   --> /checkout/tests/codegen/repr/transparent.rs:135:1
    |
135 | struct f32x4([f32; 4]);
    | ^^^^^^^^^^^^
    = note: `#[warn(improper_ctypes_definitions)]` on by default

warning: `extern` fn uses type `f32x4`, which is not FFI-safe
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:143:45
    |
143 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    |                                             ^^^^^^ not FFI-safe
    |
    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
    = note: this struct has unspecified layout
note: the type is defined here
   --> /checkout/tests/codegen/repr/transparent.rs:135:1
    |
135 | struct f32x4([f32; 4]);
    | ^^^^^^^^^^^^

error: this function definition uses SIMD vector type `Vector` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]   --> /checkout/tests/codegen/repr/transparent.rs:143:1
    |
143 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
    |
    = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: aborting due to 1 previous error; 3 warnings emitted
------------------------------------------


---- [codegen] tests/codegen/simd/extract-insert-dyn.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/simd/extract-insert-dyn.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=arm-unknown-linux-gnueabihf" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/simd/extract-insert-dyn/extract-insert-dyn.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Clinker=arm-linux-gnueabihf-gcc" "-C" "opt-level=3" "-C" "no-prepopulate-passes"
stdout: none
--- stderr -------------------------------
warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:25:42
   |
25 | unsafe extern "C" fn dyn_simd_extract(x: i8x16, idx: u32) -> i8 {
   |                                          ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^
   = note: `#[warn(improper_ctypes_definitions)]` on by default

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:33:50
   |
33 | unsafe extern "C" fn literal_dyn_simd_extract(x: i8x16) -> i8 {
   |                                                  ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:41:48
   |
41 | unsafe extern "C" fn const_dyn_simd_extract(x: i8x16) -> i8 {
   |                                                ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:49:44
   |
49 | unsafe extern "C" fn const_simd_extract(x: i8x16) -> i8 {
   |                                            ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:57:41
   |
57 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   |                                         ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:57:68
   |
57 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   |                                                                    ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:65:49
   |
65 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                 ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:65:66
   |
65 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                                  ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:47
   |
73 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                               ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:64
   |
73 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                                ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:81:43
   |
81 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                           ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:81:60
   |
81 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                            ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:25:1
   |
25 | unsafe extern "C" fn dyn_simd_extract(x: i8x16, idx: u32) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:33:1
   |
33 | unsafe extern "C" fn literal_dyn_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:41:1
   |
41 | unsafe extern "C" fn const_dyn_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:49:1
   |
49 | unsafe extern "C" fn const_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:57:1
   |
57 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:65:1
   |
65 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:1
   |
73 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+neon`) or locally (`#[target_feature(enable="neon")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `neon` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:81:1
   |
81 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {

@bors
Copy link
Collaborator

bors commented Apr 22, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 22, 2025
@ChrisDenton ChrisDenton deleted the rollup-krbf3er branch April 22, 2025 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants