Skip to content

mark riscv intrinsics as safe #1717

New issue

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

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

Already on GitHub? # to your account

Merged
merged 1 commit into from
Feb 23, 2025

Conversation

usamoi
Copy link
Contributor

@usamoi usamoi commented Feb 15, 2025

@rustbot
Copy link
Collaborator

rustbot commented Feb 15, 2025

r? @Amanieu

rustbot has assigned @Amanieu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@Amanieu Amanieu added this pull request to the merge queue Feb 23, 2025
Merged via the queue into rust-lang:master with commit 4bfd13c Feb 23, 2025
60 checks passed
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 27, 2025
Update stdarch

Updates stdarch

- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 28, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 28, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 1, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 3, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728

try: dist-s390x-linux
try: dist-aarch64-msvc
try: dist-powerpc-linux
try: dist-powerpc64-linux
try: dist-powerpc64le-linux
try: x86_64-msvc-ext3
try: x86_64-msvc-ext2
try: x86_64-msvc-1
try: x86_64-msvc-2
try: i686-msvc-1
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 3, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728

try-job: dist-s390x-linux
try-job: dist-aarch64-msvc
try-job: dist-powerpc-linux
try-job: dist-powerpc64-linux
try-job: dist-powerpc64le-linux
try-job: x86_64-msvc-ext3
try-job: x86_64-msvc-ext2
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: i686-msvc-1
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 4, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 6, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741

try-job: x86_64-gnu-tools
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: x86_64-msvc-ext1
try-job: x86_64-msvc-ext2
try-job: x86_64-msvc-ext3
try-job: i686-mingw-1
try-job: i686-mingw-2
try-job: i686-mingw-3
try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
try-job: dist-i686-msvc
try-job: dist-aarch64-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
try-job: dist-x86_64-apple
try-job: dist-apple-various
try-job: x86_64-apple-1
try-job: x86_64-apple-2
try-job: dist-aarch64-apple
try-job: aarch64-apple
try-job: dist-android
try-job: dist-ohos
try-job: dist-various-1
try-job: dist-various-2
try-job: test-various
try-job: armhf-gnu
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 6, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741

try-job: dist-x86_64-msvc
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-aarch64-linux
try-job: dist-arm-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 6, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Mar 10, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 19, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://github.com/rust-lang/rust) | minor | `1.86.0` -> `1.87.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.87.0`](https://github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1870-2025-05-15)

[Compare Source](rust-lang/rust@1.86.0...1.87.0)

\==========================

<a id="1.87.0-Language"></a>

## Language

-   [Stabilize `asm_goto` feature](rust-lang/rust#133870)
-   [Allow parsing open beginning ranges (`..EXPR`) after unary operators `!`, `-`, and `*`](rust-lang/rust#134900).
-   [Don't require method impls for methods with `Self: Sized` bounds in `impl`s for unsized types](rust-lang/rust#135480)
-   [Stabilize `feature(precise_capturing_in_traits)` allowing `use<...>` bounds on return position `impl Trait` in `trait`s](rust-lang/rust#138128)

<a id="1.87.0-Compiler"></a>

## Compiler

-   [x86: make SSE2 required for i686 targets and use it to pass SIMD types](rust-lang/rust#135408)

<a id="1.87.0-Platform-Support"></a>

## Platform Support

-   [Remove `i586-pc-windows-msvc` target](rust-lang/rust#137957)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.87.0-Libraries"></a>

## Libraries

-   [Stabilize the anonymous pipe API](rust-lang/rust#127154)
-   [Add support for unbounded left/right shift operations](rust-lang/rust#129375)
-   [Print pointer metadata in `Debug` impl of raw pointers](rust-lang/rust#135080)
-   [`Vec::with_capacity` guarantees it allocates with the amount requested, even if `Vec::capacity` returns a different number.](rust-lang/rust#135933)
-   Most `std::arch` intrinsics which don't take pointer arguments can now be called from safe code if the caller has the appropriate target features already enabled (rust-lang/stdarch#1714, rust-lang/stdarch#1716, rust-lang/stdarch#1717)
-   [Undeprecate `env::home_dir`](rust-lang/rust#137327)
-   [Denote `ControlFlow` as `#[must_use]`](rust-lang/rust#137449)
-   [Macros such as `assert_eq!` and `vec!` now support `const {...}` expressions](rust-lang/rust#138162)

<a id="1.87.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`Vec::extract_if`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.extract_if)
-   [`vec::ExtractIf`](https://doc.rust-lang.org/stable/std/vec/struct.ExtractIf.html)
-   [`LinkedList::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.extract_if)
-   [`linked_list::ExtractIf`](https://doc.rust-lang.org/stable/std/collections/linked_list/struct.ExtractIf.html)
-   [`<[T]>::split_off`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off)
-   [`<[T]>::split_off_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_mut)
-   [`<[T]>::split_off_first`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first)
-   [`<[T]>::split_off_first_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first_mut)
-   [`<[T]>::split_off_last`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last)
-   [`<[T]>::split_off_last_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last_mut)
-   [`String::extend_from_within`](https://doc.rust-lang.org/stable/alloc/string/struct.String.html#method.extend_from_within)
-   [`os_str::Display`](https://doc.rust-lang.org/stable/std/ffi/os_str/struct.Display.html)
-   [`OsString::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.display)
-   [`OsStr::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.display)
-   [`io::pipe`](https://doc.rust-lang.org/stable/std/io/fn.pipe.html)
-   [`io::PipeReader`](https://doc.rust-lang.org/stable/std/io/struct.PipeReader.html)
-   [`io::PipeWriter`](https://doc.rust-lang.org/stable/std/io/struct.PipeWriter.html)
-   [`impl From<PipeReader> for OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeReader%3E-for-OwnedHandle)
-   [`impl From<PipeWriter> for OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeWriter%3E-for-OwnedHandle)
-   [`impl From<PipeReader> for Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html)
-   [`impl From<PipeWriter> for Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CPipeWriter%3E-for-Stdio)
-   [`impl From<PipeReader> for OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeReader%3E-for-OwnedFd)
-   [`impl From<PipeWriter> for OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeWriter%3E-for-OwnedFd)
-   [`Box<MaybeUninit<T>>::write`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.write)
-   [`impl TryFrom<Vec<u8>> for String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-TryFrom%3CVec%3Cu8%3E%3E-for-String)
-   [`<*const T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned)
-   [`<*const T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned)
-   [`<*mut T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned-1)
-   [`<*mut T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned-1)
-   [`NonNull::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.offset_from_unsigned)
-   [`NonNull::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.byte_offset_from_unsigned)
-   [`<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.cast_signed)
-   [`NonZero::<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_signed-5).
-   [`<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.cast_unsigned).
-   [`NonZero::<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_unsigned-5).
-   [`<uN>::is_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.is_multiple_of)
-   [`<uN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shl)
-   [`<uN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shr)
-   [`<iN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shl)
-   [`<iN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shr)
-   [`<iN>::midpoint`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.midpoint)
-   [`<str>::from_utf8`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8)
-   [`<str>::from_utf8_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_mut)
-   [`<str>::from_utf8_unchecked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked)
-   [`<str>::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked_mut)

These previously stable APIs are now stable in const contexts:

-   [`core::str::from_utf8_mut`](https://doc.rust-lang.org/stable/std/str/fn.from_utf8\_mut.html)
-   [`<[T]>::copy_from_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.copy_from_slice)
-   [`SocketAddr::set_ip`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_ip)
-   [`SocketAddr::set_port`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_port),
-   [`SocketAddrV4::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_ip)
-   [`SocketAddrV4::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_port),
-   [`SocketAddrV6::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_ip)
-   [`SocketAddrV6::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_port)
-   [`SocketAddrV6::set_flowinfo`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_flowinfo)
-   [`SocketAddrV6::set_scope_id`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_scope_id)
-   [`char::is_digit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_digit)
-   [`char::is_whitespace`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_whitespace)
-   [`<[[T; N]]>::as_flattened`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened)
-   [`<[[T; N]]>::as_flattened_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened_mut)
-   [`String::into_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_bytes)
-   [`String::as_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_str)
-   [`String::capacity`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.capacity)
-   [`String::as_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_bytes)
-   [`String::len`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.len)
-   [`String::is_empty`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.is_empty)
-   [`String::as_mut_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_str)
-   [`String::as_mut_vec`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_vec)
-   [`Vec::as_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_ptr)
-   [`Vec::as_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_slice)
-   [`Vec::capacity`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.capacity)
-   [`Vec::len`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.len)
-   [`Vec::is_empty`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.is_empty)
-   [`Vec::as_mut_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_slice)
-   [`Vec::as_mut_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_ptr)

<a id="1.87.0-Cargo"></a>

## Cargo

-   [Add terminal integration via ANSI OSC 9;4 sequences](rust-lang/cargo#14615)
-   [chore: bump openssl to v3](rust-lang/cargo#15232)
-   [feat(package): add --exclude-lockfile flag](rust-lang/cargo#15234)

<a id="1.87.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Rust now raises an error for macro invocations inside the `#![crate_name]` attribute](rust-lang/rust#127581)
-   [Unstable fields are now always considered to be inhabited](rust-lang/rust#133889)
-   [Macro arguments of unary operators followed by open beginning ranges may now be matched differently](rust-lang/rust#134900)
-   [Make `Debug` impl of raw pointers print metadata if present](rust-lang/rust#135080)
-   [Warn against function pointers using unsupported ABI strings in dependencies](rust-lang/rust#135767)
-   [Associated types on `dyn` types are no longer deduplicated](rust-lang/rust#136458)
-   [Forbid attributes on `..` inside of struct patterns (`let Struct { #[attribute] .. }) =`](rust-lang/rust#136490)
-   [Make `ptr_cast_add_auto_to_object` lint into hard error](rust-lang/rust#136764)
-   Many `std::arch` intrinsics are now safe to call in some contexts, there may now be new `unused_unsafe` warnings in existing codebases.
-   [Limit `width` and `precision` formatting options to 16 bits on all targets](rust-lang/rust#136932)
-   [Turn order dependent trait objects future incompat warning into a hard error](rust-lang/rust#136968)
-   [Denote `ControlFlow` as `#[must_use]`](rust-lang/rust#137449)
-   [Windows: The standard library no longer links `advapi32`, except on win7.](rust-lang/rust#138233) Code such as C libraries that were relying on this assumption may need to explicitly link advapi32.
-   [Proc macros can no longer observe expanded `cfg(true)` attributes.](rust-lang/rust#138844)
-   [Start changing the internal representation of pasted tokens](rust-lang/rust#124141). Certain invalid declarative macros that were previously accepted in obscure circumstances are now correctly rejected by the compiler. Use of a `tt` fragment specifier can often fix these macros.
-   [Don't allow flattened format_args in const.](rust-lang/rust#139624)

<a id="1.87.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Update to LLVM 20](rust-lang/rust#135763)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOSIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE5IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request May 20, 2025
Pkgsrc changes:
 * patches adjustments to adapt to upstream changes & new versions
   of included crates
 * associated checksums++

Upstream changes relative to 1.86.0:

Version 1.87.0 (2025-05-15)
==========================

Language
--------
- [Stabilize `asm_goto` feature]
  (rust-lang/rust#133870)
- [Allow parsing open beginning ranges (`..EXPR`) after unary
  operators `!`, `~`, `-`, and `*`}]
  (rust-lang/rust#134900).
- [Don't require method impls for methods with `Self: Sized` bounds
  in `impl`s for unsized types]
  (rust-lang/rust#135480)
- [Stabilize `feature(precise_capturing_in_traits)` allowing
  `use<...>` bounds on return position `impl Trait` in `trait`s]
  (rust-lang/rust#138128)

Compiler
--------
- [x86: make SSE2 required for i686 targets and use it to pass SIMD types]
  (rust-lang/rust#135408)

Platform Support
----------------
- [Remove `i586-pc-windows-msvc` target]
  (rust-lang/rust#137957)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html

Libraries
---------
- [Stabilize the anonymous pipe API]
  (rust-lang/rust#127154)
- [Add support for unbounded left/right shift operations]
  (rust-lang/rust#129375)
- [Print pointer metadata in `Debug` impl of raw pointers]
  (rust-lang/rust#135080)
- [`Vec::with_capacity` guarantees it allocates with the amount
  requested, even if `Vec::capacity` returns a different number.]
  (rust-lang/rust#135933)
- Most `std::arch` intrinsics which don't take pointer arguments
  can now be called from safe code if the caller has the appropriate
  target features already enabled
  (rust-lang/stdarch#1714,
  rust-lang/stdarch#1716,
  rust-lang/stdarch#1717)
- [Undeprecate `env::home_dir`]
  (rust-lang/rust#137327)
- [Denote `ControlFlow` as `#[must_use]`]
  (rust-lang/rust#137449)
- [Macros such as `assert_eq!` and `vec!` now support `const {...}` expressions]
  (rust-lang/rust#138162)

Stabilized APIs
---------------

- [`Vec::extract_if`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.extract_if)
- [`vec::ExtractIf`]
  (https://doc.rust-lang.org/stable/std/vec/struct.ExtractIf.html)
- [`LinkedList::extract_if`]
  (https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.extract_if)
- [`linked_list::ExtractIf`]
  (https://doc.rust-lang.org/stable/std/collections/linked_list/struct.ExtractIf.html)
- [`<[T]>::split_off`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off)
- [`<[T]>::split_off_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_mut)
- [`<[T]>::split_off_first`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first)
- [`<[T]>::split_off_first_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first_mut)
- [`<[T]>::split_off_last`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last)
- [`<[T]>::split_off_last_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last_mut)
- [`String::extend_from_within`]
  (https://doc.rust-lang.org/stable/alloc/string/struct.String.html#method.extend_from_within)
- [`os_str::Display`]
  (https://doc.rust-lang.org/stable/std/ffi/os_str/struct.Display.html)
- [`OsString::display`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.display)
- [`OsStr::display`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.display)
- [`io::pipe`]
  (https://doc.rust-lang.org/stable/std/io/fn.pipe.html)
- [`io::PipeReader`]
  (https://doc.rust-lang.org/stable/std/io/struct.PipeReader.html)
- [`io::PipeWriter`]
  (https://doc.rust-lang.org/stable/std/io/struct.PipeWriter.html)
- [`impl From<PipeReader> for OwnedHandle`]
  (https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeReader%3E-for-OwnedHandle)
- [`impl From<PipeWriter> for OwnedHandle`]
  (https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeWriter%3E-for-OwnedHandle)
- [`impl From<PipeReader> for Stdio`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html)
- [`impl From<PipeWriter> for Stdio`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CPipeWriter%3E-for-Stdio)
- [`impl From<PipeReader> for OwnedFd`]
  (https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeReader%3E-for-OwnedFd)
- [`impl From<PipeWriter> for OwnedFd`]
  (https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeWriter%3E-for-OwnedFd)
- [`Box<MaybeUninit<T>>::write`]
  (https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.write)
- [`impl TryFrom<Vec<u8>> for String`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-TryFrom%3CVec%3Cu8%3E%3E-for-String)
- [`<*const T>::offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned)
- [`<*const T>::byte_offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned)
- [`<*mut T>::offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned-1)
- [`<*mut T>::byte_offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned-1)
- [`NonNull::offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.offset_from_unsigned)
- [`NonNull::byte_offset_from_unsigned`]
  (https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.byte_offset_from_unsigned)
- [`<uN>::cast_signed`]
  (https://doc.rust-lang.org/stable/std/primitive.usize.html#method.cast_signed)
- [`NonZero::<uN>::cast_signed`]
  (https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_signed-5).
- [`<iN>::cast_unsigned`]
  (https://doc.rust-lang.org/stable/std/primitive.isize.html#method.cast_unsigned).
- [`NonZero::<iN>::cast_unsigned`]
  (https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_unsigned-5).
- [`<uN>::is_multiple_of`]
  (https://doc.rust-lang.org/stable/std/primitive.usize.html#method.is_multiple_of)
- [`<uN>::unbounded_shl`]
  (https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shl)
- [`<uN>::unbounded_shr`]
  (https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shr)
- [`<iN>::unbounded_shl`]
  (https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shl)
- [`<iN>::unbounded_shr`]
  (https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shr)
- [`<iN>::midpoint`]
  (https://doc.rust-lang.org/stable/std/primitive.isize.html#method.midpoint)
- [`<str>::from_utf8`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8)
- [`<str>::from_utf8_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8_mut)
- [`<str>::from_utf8_unchecked`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8_unchecked)
- [`<str>::from_utf8_unchecked_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8_unchecked_mut)

These previously stable APIs are now stable in const contexts:

- [`core::str::from_utf8_mut`]
  (https://doc.rust-lang.org/stable/std/str/fn.from_utf8_mut.html)
- [`<[T]>::copy_from_slice`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.copy_from_slice)
- [`SocketAddr::set_ip`]
  (https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_ip)
- [`SocketAddr::set_port`]
  (https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_port),
- [`SocketAddrV4::set_ip`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_ip)
- [`SocketAddrV4::set_port`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_port),
- [`SocketAddrV6::set_ip`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_ip)
- [`SocketAddrV6::set_port`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_port)
- [`SocketAddrV6::set_flowinfo`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_flowinfo)
- [`SocketAddrV6::set_scope_id`]
  (https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_scope_id)
- [`char::is_digit`]
  (https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_digit)
- [`char::is_whitespace`]
  (https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_whitespace)
- [`<[[T; N]]>::as_flattened`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened)
- [`<[[T; N]]>::as_flattened_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened_mut)
- [`String::into_bytes`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_bytes)
- [`String::as_str`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_str)
- [`String::capacity`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.capacity)
- [`String::as_bytes`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_bytes)
- [`String::len`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.len)
- [`String::is_empty`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.is_empty)
- [`String::as_mut_str`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_str)
- [`String::as_mut_vec`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_vec)
- [`Vec::as_ptr`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_ptr)
- [`Vec::as_slice`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_slice)
- [`Vec::capacity`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.capacity)
- [`Vec::len`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.len)
- [`Vec::is_empty`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.is_empty)
- [`Vec::as_mut_slice`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_slice)
- [`Vec::as_mut_ptr`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_ptr)

Cargo
-----
- [Add terminal integration via ANSI OSC 9;4 sequences]
  (rust-lang/cargo#14615)
- [chore: bump openssl to v3]
  (rust-lang/cargo#15232)
- [feat(package): add --exclude-lockfile flag]
  (rust-lang/cargo#15234)

Compatibility Notes
-------------------
- [Rust now raises an error for macro invocations inside the
  `#![crate_name]` attribute]
  (rust-lang/rust#127581)
- [Unstable fields are now always considered to be inhabited]
  (rust-lang/rust#133889)
- [Macro arguments of unary operators followed by open beginning
  ranges may now be matched differently]
  (rust-lang/rust#134900)
- [Make `Debug` impl of raw pointers print metadata if present]
  (rust-lang/rust#135080)
- [Warn against function pointers using unsupported ABI strings in dependencies]
  (rust-lang/rust#135767)
- [Associated types on `dyn` types are no longer deduplicated]
  (rust-lang/rust#136458)
- [Forbid attributes on `..` inside of struct patterns (`let Struct
  { #[attribute] .. }) =`]
  (rust-lang/rust#136490)
- [Make `ptr_cast_add_auto_to_object` lint into hard error]
  (rust-lang/rust#136764)
- Many `std::arch` intrinsics are now safe to call in some contexts,
  there may now be new `unused_unsafe` warnings in existing codebases.
- [Limit `width` and `precision` formatting options to 16 bits on all targets]
  (rust-lang/rust#136932)
- [Turn order dependent trait objects future incompat warning into a hard error]
  (rust-lang/rust#136968)
- [Denote `ControlFlow` as `#[must_use]`]
  (rust-lang/rust#137449)
- [Windows: The standard library no longer links `advapi32`, except
  on win7.] (rust-lang/rust#138233)
  Code such as C libraries that were relying on this assumption
  may need to explicitly link advapi32.
- [Proc macros can no longer observe expanded `cfg
  (true)` attributes.](rust-lang/rust#138844)
- [Start changing the internal representation of pasted tokens]
  (rust-lang/rust#124141). Certain invalid
  declarative macros that were previously accepted in obscure
  circumstances are now correctly rejected by the compiler. Use of
  a `tt` fragment specifier can often fix these macros.
- [Don't allow flattened format_args in const.]
  (rust-lang/rust#139624)

Internal Changes
----------------

These changes do not affect any public interfaces of Rust, but they
represent significant improvements to the performance or internals
of rustc and related tools.

- [Update to LLVM 20]
  (rust-lang/rust#135763)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants