Commit Graph

25004 Commits

Author SHA1 Message Date
Jonathan Brouwer b3317dd055 Correct the use of must_use on btree::IterMut
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-08-04 22:20:30 +02:00
Ayush Singh 6e75abd0aa std: sys: io: io_slice: Add UEFI types
UEFI networking APIs do support vectored read/write. While the types for
UDP4, UDP6, TCP4 and TCP6 are defined separately, they are essentially
the same C struct. So we can map IoSlice and IoSliceMut to have the same
binary representation.

Since all UEFI networking types for read/write are DSTs, `IoSlice` and
`IoSliceMut` will need to be copied to the end of the transmit/receive
structures. So having the same binary representation just allows us to
do a single memcpy instead of having to loop and set the DST.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-08-04 20:02:01 +05:30
Guillaume Gomez 75e20afb82 Add new test::print_merged_doctests_times used by rustdoc to display more detailed time information and add new OutputFormatter::write_merged_doctests_times method to handle it 2025-08-04 16:06:56 +02:00
Kivooeo b7f5392946 remove begin prefix 2025-08-04 18:25:34 +05:00
Kivooeo d2cfe486f0 remove feature gate 2025-08-04 16:41:10 +05:00
Stuart Cook 7fbb303147 Rollup merge of #144853 - Kivooeo:rust_-cleanup, r=Mark-Simulacrum
Remove unnecessary `rust_` prefixes

part of https://github.com/rust-lang/rust/issues/116005

Honestly, not sure if this can affect linking somehow, also I didn't touched things like `__rust_panic_cleanup` and `__rust_start_panic` which very likely will break something, so just small cleanup here

also didn't changed `rust_panic_without_hook` because it was renamed here https://github.com/rust-lang/rust/pull/144852

r? libs
2025-08-04 11:24:42 +10:00
Stuart Cook f6b4e45be7 Rollup merge of #144667 - scottmcm:alignment-is-usize, r=tgross35
`AlignmentEnum` should just be `repr(usize)` now

These used to use specific sizes because they were compiled on all widths.  But now that the types themselves are `#[cfg]`'d, we can save some conversions by having it always be `repr(usize)`.
2025-08-04 11:24:38 +10:00
Stuart Cook e65201ccb8 Rollup merge of #144188 - joshtriplett:available-parallelism, r=Mark-Simulacrum
`available_parallelism`: Add documentation for why we don't look at `ulimit`
2025-08-04 11:24:36 +10:00
Stuart Cook 625b180035 Rollup merge of #142205 - paolobarbolini:const_swap_with_slice-impl, r=Mark-Simulacrum
Mark `slice::swap_with_slice` unstably const

Tracking issue rust-lang/rust#142204
2025-08-04 11:24:35 +10:00
Kivooeo 4c4b8b23c6 remove gate 2025-08-04 02:18:18 +05:00
Connor Tsui 96adb7df96 add poisoning documentation to LazyLock 2025-08-03 22:57:08 +02:00
Connor Tsui 37922fc24c add poisoning documentation to LazyCell 2025-08-03 22:57:07 +02:00
Connor Tsui cf3865f7a5 fix broken doc section link in poison.rs 2025-08-03 22:57:07 +02:00
Samuel Tardieu d0d648d764 Rollup merge of #144843 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 14 packages to latest compatible versions
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating jsonpath-rust v1.0.3 -> v1.0.4
    Updating libredox v0.1.6 -> v0.1.9
    Updating object v0.37.1 -> v0.37.2
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating redox_users v0.5.0 -> v0.5.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating serde_json v1.0.141 -> v1.0.142
    Updating wasm-encoder v0.235.0 -> v0.236.0
    Updating wasmparser v0.235.0 -> v0.236.0
    Updating wast v235.0.0 -> v236.0.0
    Updating wat v1.235.0 -> v1.236.0
    Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest

library dependencies:
     Locking 3 packages to latest compatible versions
    Updating object v0.37.1 -> v0.37.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 6 packages to latest compatible versions
    Updating cc v1.2.30 -> v1.2.31
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating serde_json v1.0.141 -> v1.0.142
    Updating windows-targets v0.53.2 -> v0.53.3
```
2025-08-03 21:57:01 +02:00
Samuel Tardieu 116619fb81 Rollup merge of #144070 - stifskere:feat/macros/hash_map, r=Noratrieb
Implement `hash_map` macro

Implementation of https://github.com/rust-lang/rust/issues/144032

Implements the `hash_map` macro under `std/src/macros.rs`.
2025-08-03 21:56:55 +02:00
Scott McMurray eee28138b8 Use as_array in PartialEq for arrays 2025-08-03 12:47:11 -07:00
Kivooeo 3aeeae6d44 remove rust_ prefixes 2025-08-03 23:25:36 +05:00
Kivooeo 74e85a218b removed gate 2025-08-03 22:56:02 +05:00
Kivooeo 754654d5a9 rename rust_panic_without_hook 2025-08-03 17:59:37 +05:00
Folkert de Vries c691374cc1 Merge pull request #1889 from rust-lang/rustc-pull
Rustc pull update
2025-08-03 10:44:41 +00:00
Madhav Madhusoodanan 3b216c3f6f feat: Added another variant of the Constraint enum 2025-08-03 15:33:46 +05:30
github-actions 97435739ff cargo update
compiler & tools dependencies:
     Locking 14 packages to latest compatible versions
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating jsonpath-rust v1.0.3 -> v1.0.4
    Updating libredox v0.1.6 -> v0.1.9
    Updating object v0.37.1 -> v0.37.2
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating redox_users v0.5.0 -> v0.5.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating serde_json v1.0.141 -> v1.0.142
    Updating wasm-encoder v0.235.0 -> v0.236.0
    Updating wasmparser v0.235.0 -> v0.236.0
    Updating wast v235.0.0 -> v236.0.0
    Updating wat v1.235.0 -> v1.236.0
    Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest

library dependencies:
     Locking 3 packages to latest compatible versions
    Updating object v0.37.1 -> v0.37.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 6 packages to latest compatible versions
    Updating cc v1.2.30 -> v1.2.31
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating serde_json v1.0.141 -> v1.0.142
    Updating windows-targets v0.53.2 -> v0.53.3
2025-08-03 00:27:18 +00:00
Christopher Hotchkiss 1eb9b134f5 Change visibility of Args new function
Currently the Args new function is scope constrained to pub(super) but this stops me from being able to construct Args structs in unit tests.
2025-08-02 10:46:29 -07:00
Folkert de Vries c861fbd303 use gcc 15 as the linker on loongarch 2025-08-02 14:26:47 +02:00
Pascal S. de Kloe 4ad8606d79 fmt with table lookup for binary, octal and hex
* correct buffer size
* no trait abstraction
* similar to decimal
2025-08-02 13:26:59 +02:00
Samuel Tardieu 5e1ea9cda4 Rollup merge of #144797 - nilehmann:safety-comment-niche, r=Noratrieb
Update safety comment for new_unchecked in niche_types

Change the safety comment on `new_unchecked` to mention the valid range instead of 0. I noticed this while working on https://github.com/model-checking/verify-rust-std
2025-08-02 11:24:29 +02:00
Samuel Tardieu d082ff4c04 Rollup merge of #144478 - joshtriplett:doc-code-formatting-prep, r=Amanieu
Improve formatting of doc code blocks

We don't currently apply automatic formatting to doc comment code blocks. As a
result, it has built up various idiosyncracies, which make such automatic
formatting difficult. Some of those idiosyncracies also make things harder for
human readers or other tools.

This PR makes a few improvements to doc code formatting, in the hopes of making
future automatic formatting easier, as well as in many cases providing net
readability improvements.

I would suggest reading each commit separately, as each commit contains one
class of changes.
2025-08-02 11:24:24 +02:00
Samuel Tardieu ce1961bbfc Rollup merge of #144185 - purplesyringa:poisoning-wording, r=Amanieu
Document guarantees of poisoning

This mostly documents the current behavior of `Mutex` and `RwLock` (rust-lang/rust#143471) as imperfect. It's unlikely that the situation improves significantly in the future, and even if it does, the rules will probably be more complicated than "poisoning is completely reliable", so this is a conservative guarantee.

We also explicitly specify that `OnceLock` never poisons, even though it has an API similar to mutexes.

Fixes rust-lang/rust#143471 by improving documentation.

r? ``@Amanieu``
2025-08-02 11:24:22 +02:00
Samuel Tardieu 96b3b83299 Rollup merge of #143771 - Randl:const-result, r=tgross35
Constify some more `Result` functions
2025-08-02 11:24:22 +02:00
stifskere 066023e47c feat: implement hash_map! macro 2025-08-02 01:32:52 +02:00
Nico Lehmann 4c7c9de8ac Fix safety comment for new_unchecked in niche_types 2025-08-01 14:00:56 -07:00
Evgenii Zheltonozhskii 9377e0af52 Constify additional Result functions 2025-08-01 08:55:50 +03:00
Jacob Pratt 3f5f045fa7 Rollup merge of #144683 - tgross35:builtins-via-std-workspace, r=bjorn3,Noratrieb
Simplify library dependencies on `compiler-builtins`

The three panic-related library crates need to have access to `core`, and `compiler-builtins` needs to be in the crate graph. Rather than specifying both dependencies, switch these crates to use `rustc-std-workspace-core` which already does this.

This means there is now a single place that the `compiler-builtins` dependency needs to get configured, for everything other than `alloc` and `std`.

The second commit removes `compiler-builtins` from `std` (more details in the message).
2025-08-01 00:38:19 -04:00
Trevor Gross ad61b3113c Correct some grammar in integer documentation
Update "between" to "among" (more than two items), connect the "which"
dependent clause to the independent part, and remove the redundant
"here".
2025-07-31 22:53:27 -05:00
Trevor Gross 42bf044ce8 Remove std's dependency on compiler-builtins
`compiler-builtins` is already in the crate graph via `alloc`, and all
features related to `compiler-builtins` goes through `alloc`. There
isn't any reason that `std` needs this direct dependency, so remove it.
2025-07-31 22:47:24 +00:00
Trevor Gross daf353461b Use core via rustc-std-workspace-core in library/panic*
The three panic-related library crates need to have access to `core`,
and `compiler-builtins` needs to be in the crate graph. Rather than
specifying both dependencies, switch these crates to use
`rustc-std-workspace-core` which already does this.

This means there is now a single place that the `compiler-builtins`
dependency needs to get configured, for everything other than `alloc`
and `std`.
2025-07-31 22:47:24 +00:00
Trevor Gross 8d0b92acbf uefi: Use slice equality rather than memcmp
`compiler_builtins` shouldn't be called directly. Change the `PartialEq`
implementation for `DevicePathNode` to use slice equality instead, which
will call `memcmp`/`bcmp` via the intrinsic.
2025-07-31 22:47:24 +00:00
Samuel Tardieu 97e2806caa Rollup merge of #144721 - a4lg:riscv-hwprobe-linux-6.16, r=Amanieu
`std_detect`: Linux 6.16 support for RISC-V

It adds feature detection of 1 extension (new in `std_detect`).

New RISC-V Extension:

1.  "Zabha"
2025-07-31 13:12:47 +02:00
Samuel Tardieu febd8cdd44 Rollup merge of #144297 - GuillaumeGomez:ERROR_EXIT_CODE, r=Amanieu
Make `libtest::ERROR_EXIT_CODE` const public to not redefine it in rustdoc

I think it's better to make this constant public so it can be used by crates using `libtest` as dependency.

As a side-note, I will update https://github.com/rust-lang/rust/pull/143900 to make use of this constant once this is current PR is merged.
2025-07-31 13:12:46 +02:00
Guillaume Gomez 227abb70ab Make libtest::ERROR_EXIT_CODE const public to not redefine it in rustdoc 2025-07-31 10:44:50 +02:00
Tsukasa OI c51e5ce452 std_detect: Linux 6.16 support for RISC-V
It adds feature detection of 1 extension (new in std_detect).

New RISC-V Extension:

1.  "Zabha"
2025-07-31 07:39:10 +00:00
Stuart Cook dc8aec4cf2 Rollup merge of #135975 - balt-dev:master, r=tgross35
Implement `push_mut`

Implementation of rust-lang/rust#135974.
2025-07-31 15:41:58 +10:00
The rustc-josh-sync Cronjob Bot 49aa0ecc7b Merge ref '32e7a4b92b10' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 32e7a4b92b
Filtered ref: 56d8aa13f54944edb711f3bdd7013b082dbaa65b

This merge was created using https://github.com/rust-lang/josh-sync.
2025-07-31 04:20:38 +00:00
The rustc-josh-sync Cronjob Bot 8926d9cc03 Prepare for merging from rust-lang/rust
This updates the rust-version file to 32e7a4b92b.
2025-07-31 04:20:34 +00:00
Nurzhan Sakén 3ff3a1ee00 Stabilize strict_overflow_ops 2025-07-30 23:39:35 +04:00
Balt 3ccfa14e48 Implement push_mut 2025-07-30 12:26:16 -05:00
Trevor Gross ecf6d3c6ce Simplify the configuration for no-panic
Currently, attributes for `no-panic` are gated behind both the `test`
config and `assert_no_panic`, because `no-panic` is a dev dependency (so
only available with test configuration). However, we only emit
`assert_no_panic` when the test config is also set anyway, so there
isn't any need to gate on both.

Replace gates on `all(test, assert_no_panic)` with only
`assert_no_panic`. This is simpler, and also has the benefit that
attempting to check for panics without `--test` errors.
2025-07-30 10:02:34 -05:00
Trevor Gross 3cbd088ee4 ci: Set pipefail before running ci-util
Currently, a failure in `ci-util.py` does not cause the job to fail
because the pipe eats the failure status . Set pipefail to fix this.

Fixes: ff2cc0e38e3e ("ci: Don't print output twice in `ci-util`")
2025-07-30 09:57:45 -05:00
Trevor Gross 4ebfdf74db ci: Add a way to run libm tests that would otherwise be skipped
Introduce a new directive `ci: test-libm` to ensure tests run.
2025-07-30 08:59:57 +00:00
Trevor Gross c045c9b1ca ci: Commonize the way PrInfo is loaded from env 2025-07-30 08:59:57 +00:00