github-actions
87187f107b
cargo update
...
compiler & tools dependencies: Locking 132 packages to latest compatible versions
Updating addr2line v0.24.2 -> v0.25.1
Updating annotate-snippets v0.12.10 -> v0.12.11
Updating anstyle-svg v0.1.11 -> v0.1.12 (available: v1.0.0)
Updating anyhow v1.0.100 -> v1.0.101
Updating assert_cmd v2.1.1 -> v2.1.2
Updating backtrace v0.3.75 -> v0.3.76
Updating bitflags v2.10.0 -> v2.11.0
Updating blake3 v1.8.2 -> v1.8.3
Updating bumpalo v3.19.0 -> v3.19.1
Updating camino v1.2.1 -> v1.2.2
Updating cargo-platform v0.3.1 -> v0.3.2
Updating chrono v0.4.42 -> v0.4.43
Updating clap v4.5.54 -> v4.5.58
Updating clap_builder v4.5.54 -> v4.5.58
Updating clap_derive v4.5.49 -> v4.5.55
Removing clap_lex v0.7.6
Adding clap_lex v0.7.7
Adding clap_lex v1.0.0
Updating colored v3.0.0 -> v3.1.1
Adding console v0.16.2
Updating constant_time_eq v0.3.1 -> v0.4.2
Updating curl-sys v0.4.84+curl-8.17.0 -> v0.4.85+curl-8.18.0
Updating cxx v1.0.188 -> v1.0.194
Updating cxx-build v1.0.188 -> v1.0.194
Updating cxxbridge-cmd v1.0.188 -> v1.0.194
Updating cxxbridge-flags v1.0.188 -> v1.0.194
Updating cxxbridge-macro v1.0.188 -> v1.0.194
Adding darling v0.21.3
Adding darling_core v0.21.3
Adding darling_macro v0.21.3
Updating dbus v0.9.9 -> v0.9.10
Updating derive_setters v0.1.8 -> v0.1.9
Updating ena v0.14.3 -> v0.14.4
Updating env_filter v0.1.4 -> v1.0.0
Updating env_logger v0.11.8 -> v0.11.9
Updating filetime v0.2.26 -> v0.2.27
Updating find-msvc-tools v0.1.5 -> v0.1.9
Updating flate2 v1.1.5 -> v1.1.9
Removing getrandom v0.2.16
Adding getrandom v0.2.17
Adding getrandom v0.4.1
Updating git2 v0.20.2 -> v0.20.4
Updating iana-time-zone v0.1.64 -> v0.1.65
Updating icu_locale_data v2.1.1 -> v2.1.2
Updating icu_properties v2.1.1 -> v2.1.2
Updating icu_properties_data v2.1.1 -> v2.1.2
Updating id-arena v2.2.1 -> v2.3.0
Adding indicatif v0.18.4
Updating itoa v1.0.15 -> v1.0.17
Updating jiff v0.2.16 -> v0.2.20
Updating jiff-static v0.2.16 -> v0.2.20
Updating js-sys v0.3.82 -> v0.3.85
Updating libc v0.2.177 -> v0.2.182
Updating libdbus-sys v0.2.6 -> v0.2.7
Updating libgit2-sys v0.18.2+1.9.1 -> v0.18.3+1.9.2
Updating libm v0.2.15 -> v0.2.16
Updating libredox v0.1.10 -> v0.1.12
Updating log v0.4.28 -> v0.4.29
Updating memchr v2.7.6 -> v2.8.0
Updating mio v1.1.0 -> v1.1.1
Downgrading objc2-core-foundation v0.3.2 -> v0.3.1 (available: v0.3.2)
Downgrading objc2-io-kit v0.3.2 -> v0.3.1 (available: v0.3.2)
Updating pest v2.8.3 -> v2.8.6
Updating pest_derive v2.8.3 -> v2.8.6
Updating pest_generator v2.8.3 -> v2.8.6
Updating pest_meta v2.8.3 -> v2.8.6
Updating portable-atomic v1.11.1 -> v1.13.1
Updating portable-atomic-util v0.2.4 -> v0.2.5
Updating predicates v3.1.3 -> v3.1.4
Updating predicates-core v1.0.9 -> v1.0.10
Updating predicates-tree v1.0.12 -> v1.0.13
Adding prettyplease v0.2.37
Updating proc-macro2 v1.0.103 -> v1.0.106
Updating quote v1.0.42 -> v1.0.44
Updating rand_core v0.9.3 -> v0.9.5
Adding redox_syscall v0.7.1
Updating regex v1.12.2 -> v1.12.3
Updating regex-automata v0.4.13 -> v0.4.14
Updating regex-lite v0.1.8 -> v0.1.9
Updating regex-syntax v0.8.8 -> v0.8.9
Updating rustix v1.1.2 -> v1.1.3
Removing ryu v1.0.20
Updating schemars v1.1.0 -> v1.2.1
Updating schemars_derive v1.1.0 -> v1.2.1
Updating self_cell v1.2.1 -> v1.2.2
Updating serde_json v1.0.145 -> v1.0.149
Updating serde_spanned v1.0.3 -> v1.0.4
Updating simd-adler32 v0.3.7 -> v0.3.8
Updating siphasher v1.0.1 -> v1.0.2
Updating socket2 v0.6.1 -> v0.6.2
Updating syn v2.0.110 -> v2.0.115
Updating sysinfo v0.38.0 -> v0.38.1
Updating tempfile v3.23.0 -> v3.25.0
Updating thiserror v2.0.17 -> v2.0.18
Updating thiserror-impl v2.0.17 -> v2.0.18
Updating toml v0.9.8 -> v0.9.12+spec-1.1.0 (available: v1.0.1+spec-1.1.0)
Updating toml_datetime v0.7.3 -> v0.7.5+spec-1.1.0
Updating toml_parser v1.0.4 -> v1.0.8+spec-1.1.0
Updating toml_writer v1.0.4 -> v1.0.6+spec-1.1.0
Updating tracing v0.1.41 -> v0.1.44
Updating tracing-attributes v0.1.30 -> v0.1.31
Updating tracing-core v0.1.34 -> v0.1.36
Updating tracing-subscriber v0.3.20 -> v0.3.22
Updating ui_test v0.30.3 -> v0.30.4
Updating unicase v2.8.1 -> v2.9.0
Updating unicode-ident v1.0.22 -> v1.0.23
Updating unicode-script v0.5.7 -> v0.5.8
Adding unit-prefix v0.5.2
Updating url v2.5.7 -> v2.5.8
Updating utf8-width v0.1.7 -> v0.1.8
Updating uuid v1.18.1 -> v1.21.0
Updating wasi-preview1-component-adapter-provider v40.0.0 -> v40.0.3
Adding wasip2 v1.0.2+wasi-0.2.9
Adding wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
Updating wasm-bindgen v0.2.105 -> v0.2.108
Updating wasm-bindgen-macro v0.2.105 -> v0.2.108
Updating wasm-bindgen-macro-support v0.2.105 -> v0.2.108
Updating wasm-bindgen-shared v0.2.105 -> v0.2.108
Adding wasm-encoder v0.244.0
Adding wasm-encoder v0.245.1
Adding wasm-metadata v0.244.0
Adding wasmparser v0.244.0
Adding wasmparser v0.245.1
Updating wast v243.0.0 -> v245.0.1
Updating wat v1.243.0 -> v1.245.1
Updating winnow v0.7.13 -> v0.7.14
Adding wit-bindgen v0.51.0
Adding wit-bindgen-core v0.51.0
Adding wit-bindgen-rust v0.51.0
Adding wit-bindgen-rust-macro v0.51.0
Adding wit-component v0.244.0
Adding wit-parser v0.244.0
Updating zerocopy v0.8.27 -> v0.8.39
Updating zerocopy-derive v0.8.27 -> v0.8.39
Adding zmij v1.0.21
note: pass `--verbose` to see 47 unchanged dependencies behind latest
library dependencies: Locking 5 packages to latest compatible versions
Updating dlmalloc v0.2.11 -> v0.2.12
Updating libc v0.2.178 -> v0.2.182
Updating memchr v2.7.6 -> v2.8.0
Updating rand_core v0.9.3 -> v0.9.5
Updating windows-sys v0.60.2 -> v0.61.2
Removing windows-targets v0.53.5
Removing windows_aarch64_gnullvm v0.53.1
Removing windows_aarch64_msvc v0.53.1
Removing windows_i686_gnu v0.53.1
Removing windows_i686_gnullvm v0.53.1
Removing windows_i686_msvc v0.53.1
Removing windows_x86_64_gnu v0.53.1
Removing windows_x86_64_gnullvm v0.53.1
Removing windows_x86_64_msvc v0.53.1
note: pass `--verbose` to see 10 unchanged dependencies behind latest
rustbook dependencies: Locking 74 packages to latest compatible versions
Updating anstyle-query v1.1.4 -> v1.1.5
Updating anstyle-wincon v3.0.10 -> v3.0.11
Updating anyhow v1.0.100 -> v1.0.101
Updating bitflags v2.10.0 -> v2.11.0
Updating bumpalo v3.19.0 -> v3.19.1
Updating cc v1.2.45 -> v1.2.56
Updating chrono v0.4.42 -> v0.4.43
Updating clap v4.5.51 -> v4.5.58
Updating clap_builder v4.5.51 -> v4.5.58
Updating clap_derive v4.5.49 -> v4.5.55
Updating clap_lex v0.7.6 -> v1.0.0
Updating crypto-common v0.1.6 -> v0.1.7
Updating find-msvc-tools v0.1.4 -> v0.1.9
Updating flate2 v1.1.5 -> v1.1.9
Adding foldhash v0.1.5
Downgrading generic-array v0.14.9 -> v0.14.7 (available: v0.14.9)
Updating getrandom v0.3.4 -> v0.4.1
Updating handlebars v6.3.2 -> v6.4.0
Adding hashbrown v0.15.5
Updating iana-time-zone v0.1.64 -> v0.1.65
Adding id-arena v2.3.0
Updating indexmap v2.12.1 -> v2.13.0
Updating itoa v1.0.15 -> v1.0.17
Updating js-sys v0.3.82 -> v0.3.85
Adding leb128fmt v0.1.0
Updating libc v0.2.177 -> v0.2.182
Updating log v0.4.28 -> v0.4.29
Updating memchr v2.7.6 -> v2.8.0
Updating pest v2.8.3 -> v2.8.6
Updating pest_derive v2.8.3 -> v2.8.6
Updating pest_generator v2.8.3 -> v2.8.6
Updating pest_meta v2.8.3 -> v2.8.6
Adding prettyplease v0.2.37
Updating proc-macro2 v1.0.103 -> v1.0.106
Updating quote v1.0.42 -> v1.0.44
Updating regex v1.12.2 -> v1.12.3
Updating regex-automata v0.4.13 -> v0.4.14
Updating regex-syntax v0.8.8 -> v0.8.9
Updating rustix v1.1.2 -> v1.1.3
Removing ryu v1.0.20
Updating serde_json v1.0.145 -> v1.0.149
Updating serde_spanned v1.0.3 -> v1.0.4
Updating simd-adler32 v0.3.7 -> v0.3.8
Updating siphasher v1.0.1 -> v1.0.2
Updating syn v2.0.110 -> v2.0.115
Updating tempfile v3.23.0 -> v3.25.0
Updating thiserror v2.0.17 -> v2.0.18
Updating thiserror-impl v2.0.17 -> v2.0.18
Updating toml v0.9.8 -> v0.9.12+spec-1.1.0
Updating toml_datetime v0.7.3 -> v0.7.5+spec-1.1.0
Updating toml_parser v1.0.4 -> v1.0.8+spec-1.1.0
Updating toml_writer v1.0.4 -> v1.0.6+spec-1.1.0
Updating tracing v0.1.43 -> v0.1.44
Updating tracing-core v0.1.35 -> v0.1.36
Updating unicase v2.8.1 -> v2.9.0
Updating unicode-ident v1.0.22 -> v1.0.23
Adding unicode-xid v0.2.6
Updating wasip2 v1.0.1+wasi-0.2.4 -> v1.0.2+wasi-0.2.9
Adding wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
Updating wasm-bindgen v0.2.105 -> v0.2.108
Updating wasm-bindgen-macro v0.2.105 -> v0.2.108
Updating wasm-bindgen-macro-support v0.2.105 -> v0.2.108
Updating wasm-bindgen-shared v0.2.105 -> v0.2.108
Adding wasm-encoder v0.244.0
Adding wasm-metadata v0.244.0
Adding wasmparser v0.244.0
Updating web_atoms v0.2.0 -> v0.2.3
Removing windows-sys v0.60.2
Removing windows-targets v0.53.5
Removing windows_aarch64_gnullvm v0.53.1
Removing windows_aarch64_msvc v0.53.1
Removing windows_i686_gnu v0.53.1
Removing windows_i686_gnullvm v0.53.1
Removing windows_i686_msvc v0.53.1
Removing windows_x86_64_gnu v0.53.1
Removing windows_x86_64_gnullvm v0.53.1
Removing windows_x86_64_msvc v0.53.1
Updating winnow v0.7.13 -> v0.7.14
Updating wit-bindgen v0.46.0 -> v0.51.0
Adding wit-bindgen-core v0.51.0
Adding wit-bindgen-rust v0.51.0
Adding wit-bindgen-rust-macro v0.51.0
Adding wit-component v0.244.0
Adding wit-parser v0.244.0
Adding zmij v1.0.21
2026-02-15 00:32:46 +00:00
Jonathan Brouwer
8a03b5f3ec
Rollup merge of #152531 - cyrgani:pm-yet-another-cleanup, r=petrochenkov
...
`proc_macro::bridge`: simplify `ExecutionStrategy` and `DispatcherTrait`
Also includes another tiny cleanup (functions can only have one return type).
2026-02-14 18:55:36 +01:00
Jonathan Brouwer
6213acdbb8
Rollup merge of #152618 - folkertdev:stdarch-sync-2026-02-14, r=folkertdev
...
stdarch subtree update
Subtree update of `stdarch` to 1239a9f83a .
Created using https://github.com/rust-lang/josh-sync .
r? @ghost
2026-02-14 18:55:34 +01:00
Jonathan Brouwer
65d982abd8
Rollup merge of #152469 - mu001999-contrib:cleanup/unused-features, r=nadrieril,jdonszelmann
...
Remove unused features
Detected by https://github.com/rust-lang/rust/pull/152164 .
~~Only allow `unused_features` if there are complex platform-specific features enabled.~~
2026-02-13 13:34:58 +01:00
cyrgani
f601b29825
inline SameThread and CrossThread
2026-02-13 11:24:50 +00:00
cyrgani
31053484a7
replace MessagePipe trait with its impl
2026-02-13 11:23:26 +00:00
Stuart Cook
eaa6766793
Rollup merge of #152232 - chenyukang:add-must-use-for-filetimes, r=Mark-Simulacrum
...
Add must_use for FileTimes
Fixes rust-lang/rust#152231
2026-02-13 15:19:11 +11:00
mu001999
73c42c1800
Remove or allow unused features in library doc and tests
2026-02-13 09:27:16 +08:00
mu001999
0dc1556968
Remove unused features in library
2026-02-13 09:25:50 +08:00
bors
bb8b30a5fc
Auto merge of #148537 - oli-obk:push-yxuttqrqqyvu, r=dianqk
...
Start using pattern types in libcore (NonZero and friends)
part of rust-lang/rust#136006
This PR only changes the internal representation of `NonZero`, `NonMax`, ... and other integral range types in libcore. This subsequently affects other types made up of it, but nothing really changes except that the field of `NonZero` is now accessible safely in contrast to the `rustc_layout_scalar_range_start` attribute, which has all kinds of obscure rules on how to properly access its field.
2026-02-12 13:23:22 +00:00
cyrgani
2f24a5e491
remove DispatcherTrait
2026-02-12 11:38:33 +00:00
cyrgani
13189f48cf
use ? instead of * for return types
2026-02-12 11:38:22 +00:00
bors
7ad4e69ad5
Auto merge of #152517 - jhpratt:rollup-fGRcId6, r=jhpratt
...
Rollup of 17 pull requests
Successful merges:
- rust-lang/rust#142415 (Add note when inherent impl for a alias type defined outside of the crate)
- rust-lang/rust#142680 (Fix passing/returning structs with the 64-bit SPARC ABI)
- rust-lang/rust#150768 (Don't compute FnAbi for LLVM intrinsics in backends)
- rust-lang/rust#151152 (Add FCW for derive helper attributes that will conflict with built-in attributes)
- rust-lang/rust#151814 (layout: handle rigid aliases without params)
- rust-lang/rust#151863 (Borrowck: simplify diagnostics for placeholders)
- rust-lang/rust#152159 (Add note for `?Sized` params in int-ptr casts diag)
- rust-lang/rust#152434 (Clarify names of `QueryVTable` functions for "executing" a query)
- rust-lang/rust#152478 (Remove tm_factory field from CodegenContext)
- rust-lang/rust#152498 (Partially revert "resolve: Update `NameBindingData::vis` in place")
- rust-lang/rust#152316 (fix: add continue)
- rust-lang/rust#152394 (Correctly check if a macro call is actually a macro call in rustdoc highlighter)
- rust-lang/rust#152425 (Port #![test_runner] to the attribute parser)
- rust-lang/rust#152481 (Use cg_ssa's produce_final_output_artifacts in cg_clif)
- rust-lang/rust#152485 (fix issue#152482)
- rust-lang/rust#152495 (Clean up some subdiagnostics)
- rust-lang/rust#152502 (Implement `BinaryHeap::from_raw_vec`)
2026-02-12 06:57:59 +00:00
Jacob Pratt
faac3c579f
Rollup merge of #152502 - Dan54:heap-from-raw-vec, r=scottmcm
...
Implement `BinaryHeap::from_raw_vec`
Implements rust-lang/rust#152500 .
Adds a `BinaryHeap::from_raw_vec` function, which constructs a `BinaryHeap` without performing a heapify, for data that is already a max-heap.
2026-02-12 00:41:12 -05:00
bors
605f49b274
Auto merge of #152506 - Urgau:rollup-MlGAszj, r=Urgau
...
Rollup of 7 pull requests
Successful merges:
- rust-lang/rust#152505 (Sync relnotes for stable 1.93.1)
- rust-lang/rust#137487 (Stabilize `assert_matches`)
- rust-lang/rust#152281 (borrowck: suggest `&mut *x` for pattern reborrows)
- rust-lang/rust#151142 (Support ADT types in type info reflection)
- rust-lang/rust#152477 (rustc-dev-guide subtree update)
- rust-lang/rust#152488 (allow `deprecated(since = "CURRENT_RUSTC_VERSION")`)
- rust-lang/rust#152491 (Remove unused `fluent-syntax` dependency from tidy)
2026-02-12 03:44:50 +00:00
Urgau
c87a89ed14
Rollup merge of #151142 - SpriteOvO:type-info-adt, r=oli-obk
...
Support ADT types in type info reflection
Tracking issue: rust-lang/rust#146922 `#![feature(type_info)]`
This PR supports ADT types for feature `type_info` reflection.
(It's still a draft PR, with implementation in progress)
Note that this PR does not take SemVer into consideration (I left a FIXME comment). As discussed earlier ([comment](https://github.com/rust-lang/rust/pull/146923#discussion_r2372249477 )), this requires further discussion. However, I hope we could get an initial implementation to land first, so we can start playing with it.
### Progress / Checklist
- [x] Struct support.
- [x] Enum
- [x] Union
- [x] Generics
- [ ] ~Methods~ Implemented and to be implemented in other PRs
- [ ] ~Traits~ Implemented and to be implemented in other PRs
- [x] Rebasing PR to `main` branch
~~(It's currently based on PR rust-lang/rust#151123 , so here's an extra commit)~~
- [x] Cleanup and Rebase.
- [x] Fix field info for references. (see [comment](https://github.com/rust-lang/rust/pull/151142#discussion_r2777920512 ))
r? @oli-obk
2026-02-12 00:04:15 +01:00
Dan54
9383138801
add BinaryHeap::from_raw_vec
2026-02-11 21:18:07 +00:00
Sayantan Chakraborty
74397dcc68
Merge pull request #2020 from Snehal-Reddy/main
...
aarch64: Guard RCPC3 intrinsics with target_has_atomic = "64"
2026-02-11 20:40:14 +00:00
Lukas Bergdoll
2f3b952349
Stabilize assert_matches
2026-02-11 14:13:44 +01:00
Matthias Krüger
88eda646f2
Rollup merge of #152431 - oli-obk:limited_stability_attr, r=jdonszelmann
...
Restrict the set of things that const stability can be applied to
r? @jdonszelmann
2026-02-11 13:48:47 +01:00
bors
d34f1f9314
Auto merge of #152420 - tgross35:update-builtins, r=tgross35
...
compiler-builtins subtree update
Subtree update of `compiler-builtins` to 6a67a9f627 .
Created using https://github.com/rust-lang/josh-sync .
r? @ghost
2026-02-11 04:12:19 +00:00
yukang
d72eac8465
add must_use for FileTimes
2026-02-11 09:30:50 +08:00
Sayantan Chakraborty
3e0724784b
Merge pull request #2004 from folkertdev/arm-ld1-read
...
aarch64: use `read_unaligned` for `vld1_*`
2026-02-10 14:18:57 +00:00
Asuna
a575fe168f
Erase type lifetime before writing type ID
2026-02-10 14:08:11 +01:00
Asuna
98e0c34f7f
Support unions in type info reflection
2026-02-10 13:53:27 +01:00
Asuna
e9037882c1
Support enums in type info reflection
2026-02-10 13:53:26 +01:00
Asuna
870fd9070b
Add generics info for structs in type info
2026-02-10 13:45:09 +01:00
Asuna
b23d308853
Support structs in type info reflection
2026-02-10 13:45:07 +01:00
Oli Scherer
85e8282fab
Start using pattern types in libcore
2026-02-10 11:19:24 +00:00
Oli Scherer
0ebd56ebbb
Remove accidental const stability marker on a struct
2026-02-10 09:02:31 +00:00
Matthias Krüger
2ce5f487e0
Rollup merge of #145504 - Jules-Bertholet:more_conversion_trait_impls, r=tgross35
...
Add some conversion trait impls
- `impl<T, const N: usize> From<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> AsRef<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> AsRef<[MaybeUninit<T>]> for MaybeUninit<[T; N]>` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> AsMut<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> AsMut<[MaybeUninit<T>]> for MaybeUninit<[T; N]>` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> From<MaybeUninit<[T; N]>> for [MaybeUninit<T>; N]` (cc https://github.com/rust-lang/rust/issues/96097 )
- `impl<T, const N: usize> AsRef<[Cell<T>; N]> for Cell<[T; N]>` (equivalent of `as_array_of_cells`, cc https://github.com/rust-lang/rust/issues/88248 )
- `impl<T, const N: usize> AsRef<[Cell<T>]> for Cell<[T; N]>`
- `impl<T> AsRef<[Cell<T>]> for Cell<[T]>` (equivalent of `as_slice_of_cells`)
@rustbot label T-libs-api needs-fcp -T-libs
I’ve tried to only add impls that are unlikely to cause single-applicable-impl inference breakage.
2026-02-09 18:39:42 +01:00
Matthias Krüger
c15f4e0e47
Rollup merge of #142957 - xizheyin:142931, r=tgross35
...
std: introduce path normalize methods at top of `std::path`
Closes rust-lang/rust#142931
Mention other methods that call `conponents` and `canonicalize` that fully normalize path. And fix two typo.
r? libs
2026-02-09 18:39:41 +01:00
Matthias Krüger
e2ddf5c951
Rollup merge of #152166 - cyrgani:questionable-pm-cleanups, r=petrochenkov
...
cleanup some more things in `proc_macro::bridge`
Each commit should be reviewable on its own.
2026-02-09 18:39:40 +01:00
Matthias Krüger
144b77aad2
Rollup merge of #151613 - cuviper:array-windows-parity, r=Amanieu
...
Align `ArrayWindows` trait impls with `Windows`
With `slice::ArrayWindows` getting ready to stabilize in 1.94, I noticed that it currently has some differences in trait implementations compared to `slice::Windows`, and I think we should align these.
- Remove `derive(Copy)` -- we generally don't want `Copy` for iterators at all, as this is seen as a footgun (e.g. rust-lang/rust#21809 ). This is obviously a breaking change though, so we should only remove this if we also backport the removal before it's stable. Otherwise, it should at least be replaced by a manual impl without requiring `T: Copy`.
- Manually `impl Clone`, simply to avoid requiring `T: Clone`.
- `impl FusedIterator`, because it is trivially so. The `since = "1.94.0"` assumes we'll backport this, otherwise we should change that to the "current" placeholder.
- `impl TrustedLen`, because we can trust our implementation.
- `impl TrustedRandomAccess`, because the required `__iterator_get_unchecked` method is straightforward.
r? libs-api
@rustbot label beta-nominated
(at least for the `Copy` removal, but we could be more selective about the rest).
2026-02-09 18:39:39 +01:00
Juho Kahala
8cd47adab2
libm: Fix tests for lgamma
...
The tests were using `rug::ln_gamma` as a reference for `libm::lgamma`,
which actually computes the natural logarithm *of the absolute value* of
the Gamma function.
This changes the range of inputs used for the icount-benchmarks of these
functions, which causes false regressions in [1].
[1]: https://github.com/rust-lang/compiler-builtins/actions/runs/21788698368/job/62864230903?pr=1075#step:7:2710 .
Fixes: a1a066611dc2 ("Create interfaces for testing against MPFR")
2026-02-09 04:32:04 -06:00
xizheyin
88c296a19f
std: introduce path normalize methods at top of std::path
2026-02-09 18:25:26 +08:00
Jacob Pratt
e046884f49
Rollup merge of #152357 - nicholasbishop:push-uolpvnvrlznw, r=joboet
...
std: Don't panic when removing a nonexistent UEFI var
`std::env::remove_var` does not say that deleting a nonexistent variable is an error (and at least on Linux, it indeed does not cause an error).
The UEFI Shell Protocol spec also doesn't say it's an error, but the edk2 implementation delegates to the UEFI runtime `SetVariable` function, which returns `EFI_NOT_FOUND` when trying to delete a nonexistent variable.
Change the UEFI implementation to check for a `NotFound` error and treat it as success.
CC @Ayush1325
2026-02-09 05:20:27 -05:00
Stuart Cook
7cb4501916
Rollup merge of #152291 - jdonszelmann:port-rustc-insignificant-dtor, r=jonathanbrouwer
...
Port `rustc_insignificant_dtor`
r? @JonathanBrouwer
Second commit removes it from an impl in std. I looked, and I really think it had no effect in the past. We only look for this attr on ADTs...
2026-02-09 14:32:01 +11:00
Stuart Cook
11c7917874
Rollup merge of #152071 - hanna-kruppe:stdio-fd-consts, r=ChrisDenton
...
Implement stdio FD constants
Tracking issue: rust-lang/rust#150836
2026-02-09 14:32:00 +11:00
Folkert de Vries
dfef1209b1
x86: use intrinsics::simd for masked truncated saturating stores
2026-02-08 22:42:48 +01:00
Jana Dönszelmann
9d6e120939
remove from impl block in std
2026-02-08 22:22:58 +01:00
Jonathan Brouwer
9f778b4341
Rollup merge of #152275 - scottmcm:range-range-inclusive, r=Mark-Simulacrum
...
Stop having two different alignment constants
Now that there's a `<T as SizedTypeProperties>::ALIGNMENT` constant, `Alignment::of` can use that instead of an inline constant, like how `Layout::new` uses the constant from `SizedTypeProperties`.
2026-02-08 21:06:30 +01:00
Jonathan Brouwer
c33bd8aa53
Rollup merge of #126100 - scottmcm:decaveat-map, r=Mark-Simulacrum
...
Reword the caveats on `array::map`
Thanks to #107634 and some improvements in LLVM (particularly [`dead_on_unwind`](https://llvm.org/docs/LangRef.html#parameter-attributes )), the method actually optimizes reasonably well now.
So focus the discussion on the fundamental ordering differences where the optimizer might never be able to fix it because of the different behaviour, and keep encouraging `Iterator::map` where an array wasn't actually ever needed.
2026-02-08 21:06:29 +01:00
Mark Rousskov
4a979d546b
Stop having two different alignment constants
...
* Stop having two different alignment constants
* Update library/core/src/alloc/global.rs
2026-02-08 19:54:03 +00:00
Nicholas Bishop
4d07a8f24c
std: Don't panic when removing a nonexistent UEFI var
...
`std::env::remove_var` does not say that deleting a nonexistent variable
is an error (and at least on Linux, it indeed does not cause an
error).
The UEFI Shell Protocol spec also doesn't say it's an error, but the
edk2 implementation delegates to the UEFI runtime `SetVariable`
function, which returns `EFI_NOT_FOUND` when trying to delete a
nonexistent variable.
Change the UEFI implementation to check for a `NotFound` error and treat
it as success.
2026-02-08 12:38:28 -05:00
Jules Bertholet
d0b3a0bdc0
Add some conversion trait impls
...
- `impl<T, const N: usize> From<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>`
- `impl<T, const N: usize> AsRef<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>`
- `impl<T, const N: usize> AsRef<[MaybeUninit<T>]> for MaybeUninit<[T; N]>`
- `impl<T, const N: usize> AsMut<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>`
- `impl<T, const N: usize> AsMut<[MaybeUninit<T>]> for MaybeUninit<[T; N]>`
- `impl<T, const N: usize> From<MaybeUninit<[T; N]>> for [MaybeUninit<T>; N]`
- `impl<T, const N: usize> AsRef<[Cell<T>; N]> for Cell<[T; N]>`
- `impl<T, const N: usize> AsRef<[Cell<T>]> for Cell<[T; N]>`
- `impl<T> AsRef<[Cell<T>]> for Cell<[T]>`
2026-02-07 17:09:23 -05:00
Jonathan Brouwer
7b8be37c1f
Rollup merge of #152292 - GrigorenkoPV:sigma, r=Noratrieb
...
Minor change for readability
Everyone praise inline const blocks!
2026-02-07 19:34:51 +01:00
Jonathan Brouwer
5964330d29
Rollup merge of #152056 - hzeller:feature-20260203-clarify-rwlock-reentrance, r=joboet
...
RwLock: refine documentation to emphasize non-reentrancy guarantees
This addresses the need for clarification brought up in rust-lang/rust#149693 . Specifically, it notes that some implementations may choose to panic if they detect deadlock situations during recursive locking attempts for both `read()` and `write()` calls.
* Provide an example highlighting that multiple read locks can be held across different threads simultaneously.
* Remove the example that shows a situation that can potentially deadlock. (as demonstrated in the very same documentation a few paragraphs above)
* Improve documentation regarding the possibility of panics during recursive read or write lock attempts.
Issues: https://github.com/rust-lang/rust/issues/149693
2026-02-07 19:34:49 +01:00
Trevor Gross
3d0989266d
cleanup: Perform some simplifications possible with the MSRV bump
2026-02-07 08:46:41 -06:00
Trevor Gross
1ec5101f20
Bump the libm MSRV to 1.67
...
This gets us:
* `saturating_sub_unsigned`
* `<int>::ilog2`
* Correct lexing of float literals with the `f16` or `f128` suffix
Link: https://github.com/rust-lang/compiler-builtins/issues/1017
2026-02-07 08:46:41 -06:00