Commit graph

163738 commits

Author SHA1 Message Date
Ralf Jung
0ca067190b
Merge pull request #4411 from LorrensP-2158466/remove-leaky-syncobj
Remove leaky synchronisation objects.
2025-07-01 12:46:31 +00:00
LorrensP-2158466
4606afb125 Remove leaky synchronisation objects. 2025-07-01 14:21:13 +02:00
Ralf Jung
b9b8fd22bb
Merge pull request #4433 from RalfJung/ci-balance
re-balance CI jobs
2025-07-01 06:13:45 +00:00
Ralf Jung
d72b15b883
Merge pull request #4432 from RalfJung/no-metadata
./miri toolchain: no need to run 'cargo metadata'
2025-07-01 05:56:12 +00:00
Ralf Jung
828f5944f8 re-balance CI jobs 2025-07-01 07:48:10 +02:00
Ralf Jung
c52d522298 ./miri toolchain: no need to run 'cargo metadata' 2025-07-01 07:24:40 +02:00
The Miri Cronjob Bot
8958967fd4 fmt 2025-07-01 05:07:00 +00:00
The Miri Cronjob Bot
e6371c9379 Merge from rustc 2025-07-01 05:05:50 +00:00
Jieyou Xu
c3fb7d1d1c
Make some compiletest errors/warnings/help more visually obvious 2025-07-01 13:06:18 +08:00
The Miri Cronjob Bot
0c3c9e4438 Preparing for merge from rustc 2025-07-01 04:58:24 +00:00
Matthias Krüger
3f6dc54f5c
Rollup merge of #143248 - rustbot:docs-update, r=ehuss
Update books

## rust-lang/book

2 commits in 8a6d44e45b7b564eeb6bae30507e1fbac439d72d..ef1ce8f87a8b18feb1b6a9cf9a4939a79bde6795
2025-06-28 18:06:08 UTC to 2025-06-26 23:08:19 UTC

- Chapter 14 from tech review (rust-lang/book#4423)
- Chapter 13 from tech review (rust-lang/book#4421)

## rust-embedded/book

1 commits in 10fa1e084365f23f24ad0000df541923385b73b6..41f688a598a5022b749e23d37f3c524f6a0b28e1
2025-06-27 07:21:31 UTC to 2025-06-27 07:21:31 UTC

- Fix incorrect type for semihosted stdout stream rust-lang/rust#394 (rust-embedded/book#395)

## rust-lang/reference

4 commits in 50fc1628f36563958399123829c73755fa7a8421..e9fc99f107840813916f62e16b3f6d9556e1f2d8
2025-06-28 20:00:14 UTC to 2025-06-24 19:02:48 UTC

- fix: swap places for 2 words in associated-items.md sentence. (rust-lang/reference#1871)
- Add new temporary lifetime extension rule (rust-lang/reference#1813)
- Fix smart punctuation inside grammar terminals (rust-lang/reference#1869)
- Fix placement of codegen link definitions (rust-lang/reference#1868)

## rust-lang/rust-by-example

1 commits in 05c7d8bae65f23a1837430c5a19be129d414f5ec..288b4e4948add43f387cad35adc7b1c54ca6fe12
2025-06-25 12:35:59 UTC to 2025-06-25 12:35:59 UTC

- allow easy fixes (rust-lang/rust-by-example#1941)
2025-06-30 20:49:45 +02:00
Matthias Krüger
6d41b3479f
Rollup merge of #143246 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? ``@ghost``
2025-06-30 20:49:44 +02:00
Matthias Krüger
8156725d2e
Rollup merge of #143229 - jieyouxu:compiletest-maintenance-1, r=Kobzol
[COMPILETEST-UNTANGLE 1/N] Move some some early config checks to the lib and move the compiletest binary

This is part of a patch series to untangle `compiletest` to hopefully nudge it towards being more maintainable.

This PR:

- Moves some early config checks (some warnings) to the compiletest library.
- Moves `src/main.rs` to `src/bin/main.rs` to make the separation (as in, compiletest's library component vs the tool binary component) more obvious.

r? ``@Kobzol`` (or reroll)
2025-06-30 20:49:44 +02:00
Matthias Krüger
d3c02b48df
Rollup merge of #143180 - jieyouxu:forest, r=Kobzol
Use `tracing-forest` instead of `tracing-tree` for bootstrap tracing

I find the `tracing-forest` output easier to comprehend.

Note that this is not a strict improvement -- `tracing-forest` output contains some emojis and redundant log levels, but customizing it seems to be... non-trivial. Despite this, I still find `tracing-forest` easier to follow than `tracing-tree`, even when I tried to tune `tracing-tree` output.

### Preview

```bash
BOOTSTRAP_TRACING=debug ./x test library/std --dry-run
```

With `tracing-forest` (this PR), it looks like

![Screenshot 2025-06-29 174802](https://github.com/user-attachments/assets/1ab9150f-48f8-4fb3-b004-27bcf8bbc0f5)

With `tracing-tree` (before this PR), it looked like

![Screenshot 2025-06-29 175227](https://github.com/user-attachments/assets/659e254d-15ab-47dd-af11-98e2331d4d7a)

r? `@Kobzol`
2025-06-30 20:49:42 +02:00
Matthias Krüger
1be0c62069
Rollup merge of #143175 - Kobzol:bootstrap-lld-external-llvm-config, r=Jieyouxu
Make combining LLD with external LLVM config a hard error

Younger me made this only a warning in https://github.com/rust-lang/rust/pull/139853, because our post-dist tests were relying on this. But that was not a good idea, because there are a bunch of places in bootstrap that outright try to build LLD/copy LLD to sysroot when `lld_enabled` is true (rightfully so), which is causing issues (https://github.com/rust-lang/rust/issues/143076). Instead of piling more hacks, I'd like to just disallow this, and if we need to use a hack, do it only for our CI.

If this breaks the CI post-dist tests, I'll either add some special environment variable for it, or, as an alternative, make the error back into a warning, but also disable `lld_enabled` when this situation happens.

try-job: dist-x86_64-linux

Fixes: https://github.com/rust-lang/rust/pull/143175
2025-06-30 20:49:41 +02:00
Matthias Krüger
8292936d74
Rollup merge of #143140 - RalfJung:ptr-into-parts, r=oli-obk
give Pointer::into_parts a more scary name and offer a safer alternative

`into_parts` is a bit too innocent of a name for a somewhat subtle operation.
r? `@oli-obk`
2025-06-30 20:49:41 +02:00
rustbot
26e1115ca8 Update books 2025-06-30 19:01:15 +02:00
Laurențiu Nicola
0edf5726c7 Merge from rust-lang/rust 2025-06-30 17:42:03 +03:00
Laurențiu Nicola
3b5b35052c Preparing for merge from rust-lang/rust 2025-06-30 17:41:18 +03:00
bors
c65dccabac Auto merge of #143233 - dianqk:rollup-lcx3278, r=dianqk
Rollup of 14 pull requests

Successful merges:

 - rust-lang/rust#142429 (`tests/ui`: A New Order [13/N])
 - rust-lang/rust#142514 (Miri: handling of SNaN inputs in `f*::pow` operations)
 - rust-lang/rust#143066 (Use let chains in the new solver)
 - rust-lang/rust#143090 (Workaround for memory unsafety in third party DLLs)
 - rust-lang/rust#143118 (`tests/ui`: A New Order [15/N])
 - rust-lang/rust#143159 (Do not freshen `ReError`)
 - rust-lang/rust#143168 (`tests/ui`: A New Order [16/N])
 - rust-lang/rust#143176 (fix typos and improve clarity in documentation)
 - rust-lang/rust#143187 (Add my work email to mailmap)
 - rust-lang/rust#143190 (Use the `new` method for `BasicBlockData` and `Statement`)
 - rust-lang/rust#143195 (`tests/ui`: A New Order [17/N])
 - rust-lang/rust#143196 (Port #[link_section] to the new attribute parsing infrastructure)
 - rust-lang/rust#143199 (Re-disable `tests/run-make/short-ice` on Windows MSVC again)
 - rust-lang/rust#143219 (Show auto trait and blanket impls for `!`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-30 14:28:58 +00:00
Jakub Beránek
5cf2a50da7
Add change tracker entry 2025-06-30 14:57:39 +02:00
dianqk
7760cd6154
Rollup merge of #143196 - Periodic1911:link_section, r=oli-obk
Port #[link_section] to the new attribute parsing infrastructure

Ports link_section to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197

r? `@oli-obk`

cc `@JonathanBrouwer` `@jdonszelmann`
2025-06-30 19:23:21 +08:00
dianqk
462c7c3fd8
Rollup merge of #143176 - kilavvy:master, r=jieyouxu
fix typos and improve clarity in documentation

```
Description:

This pull request corrects minor typos and improves wording for clarity across several documentation files, including:

- Correcting instrinsics → intrinsics
- Correcting preferrably → preferably
- Correcting Orginally → Originally
-  Correcting resiliant → resilient

```
2025-06-30 19:23:19 +08:00
dianqk
d2dc99cc83
Rollup merge of #142514 - LorrensP-2158466:miri-float-nondet-pow, r=RalfJung
Miri: handling of SNaN inputs in `f*::pow` operations

fixes [miri/#4286](https://github.com/rust-lang/miri/issues/4286) and related to rust-lang/rust#138062 and [miri/#4208](https://github.com/rust-lang/miri/issues/4208#issue-2879058184).

For the following cases of the powf or powi operations, Miri returns either `1.0` or an arbitrary `NaN`:
- `powf(SNaN, 0.0)`
- `powf(1.0, SNaN)`
- `powi(SNaN, 0)`

Also added a macro in `miri/tests/pass/float.rs` which conveniently checks if both are indeed returned from such an operation.

Made these changes in the rust repo so I could test against stdlib, since these were impacted some time ago and were fixed in rust-lang/rust#138062. Tested with:
```fish
env MIRIFLAGS=-Zmiri-many-seeds ./x miri --no-fail-fast std core coretests -- f32 f64
```
This was successful. This does take a while, so I recommend using `--no-doc` and separate use of `f32` or `f64`

The pr is somewhat split up into 3 main commits, which implement the cases described above. The first commit also introduces the macro, and the last commit is just a global refactor of some things.

r? `@RalfJung`
2025-06-30 19:23:15 +08:00
dianqk
384d699893
Rollup merge of #142429 - Kivooeo:tf13, r=jieyouxu
`tests/ui`: A New Order [13/N]

Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895.

r? ```@jieyouxu```
2025-06-30 19:23:14 +08:00
Oli Scherer
d0bb9a73aa Try increasing the repetition limit 2025-06-30 08:04:40 +00:00
Jieyou Xu
e664e7e116
Move RUST_TEST_NOCAPTURE warning to early config check 2025-06-30 15:17:28 +08:00
Jieyou Xu
f03074da23
Move compiletest main.rs to src/bin/
To make it obvious `compiletest`-the-tool has two components:

1. The core compiletest library, and
2. The tool binary, which will be executed by bootstrap.
2025-06-30 15:17:12 +08:00
Jieyou Xu
c8cef5bfaa
Move some early config checks to the compiletest lib 2025-06-30 15:03:17 +08:00
Ralf Jung
cd971c6e1e linux futex: fix for val > i32::MAX 2025-06-30 08:22:51 +02:00
zachs18
bc06bb193d
Remove last use of rustc_pat_analysis::Captures
It's not necessary anymore due to Rust 2024 lifetime capture rules.
2025-06-29 22:36:53 -05:00
Ralf Jung
555553f0b8
Merge pull request #4397 from tgross35/gettid-shims
Add shims for `gettid`-esque functions
2025-06-29 21:20:51 +00:00
Trevor Gross
d69b8e2b48 Add shims for gettid-esque functions
Various platforms provide a function to return the current OS thread ID,
but they all use a slightly different name. Add shims for these
functions for Apple, FreeBSD, and Windows, with tests to account for
those and a few more platforms that are not yet supported by Miri. The
syscall and extern symbol is included as well on Linux.

These should be useful in general but will also help support printing
the OS thread ID in panic messages [1].

[1]: https://github.com/rust-lang/rust/pull/115746

Squashed commit from Ralf:

    try_from_scalar: extend comment
2025-06-29 15:53:58 -05:00
Ralf Jung
ec85b70545 add a riscv64 test job 2025-06-29 22:40:18 +02:00
Ralf Jung
d5590734c9 remove duplicate clippy check 2025-06-29 22:40:16 +02:00
Ralf Jung
e788b3c79e also test on s390x via qemu 2025-06-29 22:40:15 +02:00
Ralf Jung
6aaaff8863 test on x86-32 and arm-32 2025-06-29 22:40:14 +02:00
Ralf Jung
ab2443cbad fix type mismatches in native-lib/scalar_arguments test 2025-06-29 22:40:12 +02:00
Ralf Jung
67ab61e8ba add float_nan test for powf
plus various minor tweaks
2025-06-29 22:32:31 +02:00
LorrensP-2158466
60a48287d7 make some powf and powi cases involving SNaN non-deterministic 2025-06-29 22:25:41 +02:00
Ralf Jung
9c22372971 Merge from rustc 2025-06-29 21:30:10 +02:00
Cameron Steffen
dc9879cb3d Remove let_chains feature 2025-06-30 07:49:20 -05:00
Ralf Jung
d539e66d90 Preparing for merge from rustc 2025-06-29 21:29:57 +02:00
bors
ed2d759783 Auto merge of #143137 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-06-29 16:04:05 +00:00
Anne Stijns
54cec0cf5a Port #[link_section] to the new attribute parsing infrastructure 2025-06-29 16:23:46 +02:00
Ralf Jung
651d2f8f23
Merge pull request #4424 from RalfJung/aarch64-linux-ci
also test on arm-64 linux hosts
2025-06-29 12:31:57 +00:00
Ralf Jung
ea690818bd also test on arm-64 linux hosts 2025-06-29 13:38:55 +02:00
yukang
a203e4118e Remove unnecessary parens in closure 2025-06-29 19:28:48 +08:00
Kivooeo
d0bd27924e cleaned up some tests 2025-06-29 15:37:33 +05:00
Guillaume Gomez
66ad1f2abf
Rollup merge of #142078 - sayantn:more-intrinsics, r=workingjubilee
Add SIMD funnel shift and round-to-even intrinsics

This PR adds 3 new SIMD intrinsics

 - `simd_funnel_shl` - funnel shift left
 - `simd_funnel_shr` - funnel shift right
 - `simd_round_ties_even` (vector version of `round_ties_even_fN`)

TODO (future PR): implement `simd_fsh{l,r}` in miri, cg_gcc and cg_clif (it is surprisingly hard to implement without branches, the common tricks that rotate uses doesn't work because we have 2 elements now. e.g, the `-n&31` trick used by cg_gcc to implement rotate doesn't work with this because then `fshl(a, b, 0)` will be `a | b`)

[#t-compiler > More SIMD intrinsics](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/More.20SIMD.20intrinsics/with/522130286)

`@rustbot` label T-compiler T-libs A-intrinsics F-core_intrinsics
r? `@workingjubilee`
2025-06-29 12:29:53 +02:00