Commit graph

18349 commits

Author SHA1 Message Date
Matthias Krüger
ae3b69652e
Rollup merge of #141457 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook to 0.4.50

This updates mdbook to 0.4.50 which brings in several changes, and specifically a fix for syntax highlighting in rust-by-example.

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0450
2025-05-23 20:30:12 +02:00
Eric Huss
a12b455bd0 Update mdbook to 0.4.50 2025-05-23 09:37:23 -07:00
Matthias Krüger
ee1768c2a3
Rollup merge of #141383 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-05-23 13:34:21 +02:00
Matthias Krüger
225ed8b9cf
Rollup merge of #141376 - nnethercote:rename-kw-Empty, r=petrochenkov
Rename `kw::Empty` as `sym::empty`.

Because the empty string is not a keyword.

r? `@petrochenkov`
2025-05-23 13:34:20 +02:00
Matthias Krüger
c385715806
Rollup merge of #141130 - mejrs:use_self, r=compiler-errors
rustc_on_unimplemented cleanups

Addresses some of the fixmes from https://github.com/rust-lang/rust/pull/139091 and https://github.com/rust-lang/rust/pull/140307.

- switch from `_Self` to `Self` in library
- properly validate that arguments in the `on` filter and the format strings are actually valid

See https://github.com/rust-lang/rustc-dev-guide/pull/2357 for the relevant documentation.
2025-05-22 16:02:30 +02:00
Ralf Jung
9e1f3a50e9 enable isolated-stdin test on Windows 2025-05-22 09:11:09 +02:00
Rune Tynan
1e79637050 Implement file read/write on Windows 2025-05-22 09:11:08 +02:00
bors
6eef33bb39 Auto merge of #137198 - tgross35:cfg-match-rename, r=Amanieu
Rename `cfg_match!` to `cfg_select!`

[`@Nemo157` pointed out](https://github.com/rust-lang/rust/issues/115585#issuecomment-2346307605) that `cfg_match!` syntax does not actually align well with match syntax, which is a possible source of confusion. The comment points out that usage is instead more similar to ecosystem `select!` macros. Rename `cfg_match!` to `cfg_select!` to match this.

Tracking issue: https://github.com/rust-lang/rust/issues/115585

[1]: https://github.com/rust-lang/rust/issues/115585#issuecomment-2346307605
2025-05-22 02:14:23 +00:00
Nicholas Nethercote
849cabf4c4 Rename kw::Empty as sym::empty.
Because the empty string is not a keyword.
2025-05-22 11:55:22 +10:00
Ralf Jung
4a18888cad document that the entire test suite passes under freebsd 2025-05-21 21:11:03 +02:00
Ralf Jung
5955969543 run the full test suite under FreeBSD 2025-05-21 21:09:03 +02:00
LorrensP-2158466
5dfcb12a20 Implement FreeBSD syscall cpuset_getaffinity. 2025-05-21 20:10:40 +02:00
Ralf Jung
febe98807f
Merge pull request #4338 from RalfJung/FileDescription
FileDescription: improve read/write docs
2025-05-21 14:57:41 +00:00
Philipp Krones
a0c1ed3b93
Merge commit 'cadf98bb7d' into clippy-subtree-update 2025-05-21 15:15:38 +02:00
Ralf Jung
05235541a8 FileDescription: improve read/write docs 2025-05-21 08:48:36 +02:00
Ralf Jung
fe5119375c
Merge pull request #4337 from RalfJung/io
test direct usage of io::{stdout,stderr,stdin}
2025-05-21 06:38:23 +00:00
Ralf Jung
2f34354e66 test direct usage of io::{stdout,stderr,stdin} 2025-05-21 08:10:37 +02:00
The Miri Cronjob Bot
b5688fba84 Merge from rustc 2025-05-21 05:01:00 +00:00
The Miri Cronjob Bot
293b0ac752 Preparing for merge from rustc 2025-05-21 04:53:50 +00:00
Trevor Gross
999967a57d Rename cfg_match! to cfg_select!
At [1] it was pointed out that `cfg_match!` syntax does not actually
align well with match syntax, which is a possible source of confusion.
The comment points out that usage is instead more similar to ecosystem
`select!` macros. Rename `cfg_match!` to `cfg_select!` to match this.

Tracking issue: https://github.com/rust-lang/rust/issues/115585

[1]: https://github.com/rust-lang/rust/issues/115585#issuecomment-2346307605
2025-05-20 21:16:23 +00:00
bors
28174fc1a0 Auto merge of #141278 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-05-20 09:28:44 +00:00
Laurențiu Nicola
2147783b79
Merge pull request #19826 from lnicola/sync-from-rust
minor: Sync from downstream
2025-05-20 07:15:48 +00:00
Laurențiu Nicola
a667495297 Bump rustc crates 2025-05-20 10:03:14 +03:00
Laurențiu Nicola
50a6c5b789 Merge from rust-lang/rust 2025-05-20 10:01:00 +03:00
Laurențiu Nicola
1dafeea8cf Preparing for merge from rust-lang/rust 2025-05-20 10:00:23 +03:00
Ralf Jung
a29756d085 make std::intrinsic functions actually be intrinsics 2025-05-20 08:09:16 +02:00
Ralf Jung
b13251e923 Merge from rustc 2025-05-20 08:04:42 +02:00
Ralf Jung
969a25b6ce Preparing for merge from rustc 2025-05-20 08:02:40 +02:00
bors
59372f2c81 Auto merge of #141255 - matthiaskrgr:rollup-ravsgen, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #131200 (Handle `rustc_query_system` cases of `rustc::potential_query_instability` lint)
 - #141244 (windows: document that we rely on an undocumented property of GetUserProfileDirectoryW)
 - #141247 (skip compiler tools sanity checks on certain commands)
 - #141248 (fix data race in ReentrantLock fallback for targets without 64bit atomics)
 - #141249 (introduce common macro for `MutVisitor` and `Visitor` to dedup code)
 - #141253 (Warning added when dependency crate has async drop types, and the feature is disabled)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-19 16:15:35 +00:00
Matthias Krüger
6e784f842a
Rollup merge of #141248 - RalfJung:reentrant-lock-race, r=joboet
fix data race in ReentrantLock fallback for targets without 64bit atomics

See [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/269128-miri/topic/reentrant.20lock.20failure.20on.20musl) for details: the address used to identify a thread might get lazily allocated inside `tls_addr()`, so if we call that *after* doing the `tls_addr.load()` it is too late to establish synchronization with prior threads that used the same address -- the `load()` thus races with the `store()` by that prior thread, and might hence see outdated values, and then the entire logic breaks down.

r? `@joboet`
2025-05-19 18:08:42 +02:00
Ralf Jung
26e917202c
Merge pull request #4334 from RalfJung/GetUserProfileDirectoryW-issue
GetUserProfileDirectoryW: reference issue regarding implementation details we rely on
2025-05-19 15:38:09 +00:00
Ralf Jung
758b7994e8 GetUserProfileDirectoryW: reference issue regarding implementation details we rely on 2025-05-19 17:08:06 +02:00
Ralf Jung
aa4d16a1a7 run tests on mips-unknown-linux-gnu 2025-05-19 15:35:19 +02:00
Ralf Jung
26ea763f24 add this to Miri's trophy case 2025-05-19 15:22:31 +02:00
Ralf Jung
8286487c0c fix data race in ReentrantLock fallback for targets without 64bit atomics 2025-05-19 15:21:25 +02:00
Lukas Wirth
a1d75fb0d0
Merge pull request #19822 from Veykril/push-mzzluystvwls
minor: Remote dangling file
2025-05-19 11:20:03 +00:00
Stuart Cook
b86de538ce
Rollup merge of #141239 - RalfJung:dladdr-fname, r=Noratrieb
dladdr cannot leave dli_fname to be null

There are two places in the repo calling `dladdr`, and they are inconsistent wrt their assumption of whether the `dli_fname` field can be null. Let's make them consistent. I see nothing in the docs that allows it to be null, but just to be on the safe side let's make this an assertion so hopefully we get a report if that ever happens.
2025-05-19 21:10:44 +10:00
Stuart Cook
5d7e580350
Rollup merge of #141117 - klensy:opt-dist-icf, r=Kobzol
opt-dist: fix deprecated BOLT -icf=1 option

Replaced deprecated `-icf=1` BOLT option.

Spotted in recent CI run (https://github.com/rust-lang-ci/rust/actions/runs/15080898417/job/42397253162):
```
BOLT-WARNING: specifying numeric value "1" for option -icf is deprecated
```

Change was added in https://github.com/llvm/llvm-project/pull/116275

Btw, now there also exist new option `-icf=safe`, will be nice to try it too.
2025-05-19 21:10:43 +10:00
Lukas Wirth
9f82458c25 Remote dangling file 2025-05-19 13:08:29 +02:00
Lukas Wirth
84ed11b92f
Merge pull request #19809 from flodiebold/push-txyotwlvvkln
internal: Catch panics in inference in analysis-stats
2025-05-19 10:12:31 +00:00
Ralf Jung
446fa22412 add to_u64() helper method and use it where appropriate 2025-05-19 10:08:48 +02:00
Ralf Jung
0ba2a3a818 enable clippy::as_conversions to fully rule out as-casts 2025-05-19 10:08:46 +02:00
Lukas Wirth
e493cb1ad2 Debounce workspace fetching for workspace structure changes 2025-05-19 08:55:38 +02:00
Ralf Jung
d22f53b970 dladdr cannot leave dli_fname to be null 2025-05-19 08:27:54 +02:00
Lukas Wirth
0e63f085d3
Merge pull request #19757 from Veykril/push-zzxwtzuzqvzx
perf: Request cancellation while processing changed files
2025-05-19 06:20:31 +00:00
The Miri Cronjob Bot
1bb2d7352a Merge from rustc 2025-05-19 05:02:00 +00:00
The Miri Cronjob Bot
b2a8690aa1 Preparing for merge from rustc 2025-05-19 04:54:41 +00:00
Stuart Cook
599b08ada8
Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin
make `rustc_attr_parsing` less dominant in the rustc crate graph

It has/had a glob re-export of `rustc_attr_data_structures`, which is a crate much lower in the graph, and a lot of crates were using it *just* (or *mostly*) for that re-export, while they can rely on `rustc_attr_data_structures` directly.

Previous graph:
![graph_1](https://github.com/user-attachments/assets/f4a5f13c-4222-4903-b56d-28c83511fcbd)

Graph with this PR:
![graph_2](https://github.com/user-attachments/assets/1e053d9c-75cc-402b-84df-86229c98277a)

The first commit keeps the re-export, and just changes the dependency if possible. The second commit is the "breaking change" which removes the re-export, and "explicitly" adds the `rustc_attr_data_structures` dependency where needed. It also switches over some src/tools/*.

The second commit is actually a lot more involved than I expected. Please let me know if it's a better idea to back it out and just keep the first commit.
2025-05-19 13:24:54 +10:00
bors
e42bbfe1f7 Auto merge of #140154 - Berrysoft:cygwin-host, r=jieyouxu
Cygwin support in rustc

This PR builds host rustc targeting cygwin.

- [x] https://github.com/rust-lang/stacker/pull/122
- [x] https://github.com/nagisa/rust_libloading/pull/173
- [x] https://github.com/Detegr/rust-ctrlc/pull/131
- [x] https://github.com/rust-random/getrandom/pull/654
- [x] https://github.com/msys2/MSYS2-packages/issues/5350
- [x] https://github.com/rust-lang/rust/pull/140886
- [x] https://github.com/rust-lang/rust/pull/140921
- [x] https://github.com/rust-lang/rust/pull/140973

Currently supported:
* rustc
* rustdoc
* rustfmt
* clippy

Blocking:
* cargo: blocked by https://github.com/rust-lang/socket2/pull/568
* rust-analyzer: needs `cargo update`, fixed upstream

```
$ rustc --version --verbose
rustc 1.88.0-dev
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-pc-cygwin
release: 1.88.0-dev
LLVM version: 20.1.4
```
2025-05-18 23:53:04 +00:00
León Orell Valerian Liehr
cf3b1b1d92
Rollup merge of #141214 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? ``@ghost``

Fixes https://github.com/rust-lang/miri/issues/4328
2025-05-18 18:44:13 +02:00