Commit graph

298901 commits

Author SHA1 Message Date
Lukas Wirth
b8cc80565f
Merge pull request #20042 from Veykril/push-uosxynulorzn
fix: Temporarily disable `+` typing handler as it moves the cursor position
2025-06-19 06:40:37 +00:00
Lukas Wirth
80bd8a436c fix: Temporarily disable + typing handler as it moves the cursor position 2025-06-19 08:29:50 +02:00
bors
70e2b4a4d1 Auto merge of #139244 - jieyouxu:exp/auto-cross-run-make, r=Kobzol
Enable automatic cross-compilation in run-make tests

Supersedes rust-lang/rust#138066.

Blocker for rust-lang/rust#141856.

Based on rust-lang/rust#138066 plus `rustdoc()` cross-compile changes.

### Summary

This PR automatically specifies `--target` to `rustc()` and `rustdoc()` to have `rustc`/`rustdoc` produce cross-compiled artifacts in run-make tests by default, unless:

- `//@ ignore-cross-compile` is used, or
- `bare_{rustc,rustdoc}` are used, or
- Explicit `.target()` is specified, which overrides the default cross-compile target.

Some tests are necessarily modified:

- Tests that have `.target(target())` have that incantation removed (since this is now automatically the default).
- Some tests have `//@ needs-target-std`, but are a necessary-but-insufficient condition, and are changed to `//@ ignore-cross-compile` instead as host-only tests.
    - A few tests received `//@ ignore-musl` that fail against `x86_64-unknown-linux-musl` because of inability to find `-lunwind`. AFAICT, they don't *need* to test cross-compiled artifacts.
    - Some tests are constrained to host-only for now, because the effort to make them pass on cross-compile does not seem worth the complexity, and it's not really *meaningfully* improving test coverage.

try-job: dist-various-1
2025-06-19 06:27:02 +00:00
Lukas Wirth
dd8eaaae0c
Merge pull request #20041 from Veykril/push-yxlszoznuyno
Revert "Turn `BlockId` into a `#[salsa::tracked]`"
2025-06-19 05:51:31 +00:00
Deadbeef
4eaca5d1de remove walk_item_kind from MutVisitor
just using `walk_item` instead would be okay.
2025-06-19 13:50:15 +08:00
Lukas Wirth
d41f48f3c3 Revert "Turn BlockId into a #[salsa::tracked]"
This reverts commit 8643a858dbaf12b37e90b603cdee64434576c229.
2025-06-19 07:40:01 +02:00
Ralf Jung
c35c60d37c
Merge pull request #4407 from rust-lang/rustup-2025-06-19
Automatic Rustup
2025-06-19 05:33:42 +00:00
Tim (Theemathas) Chirananthavat
644469e961 Remove incorrect comments in Weak
It is currently possible to create a dangling `Weak` to a DST by
calling `Weak::new()` for a sized type, then doing an unsized coercion.
Therefore, the comments are wrong.

These comments were added in <https://github.com/rust-lang/rust/pull/73845>.
As far as I can tell, the guarantee in the comment was only previously
used in the `as_ptr` method. However, the current implementation of
`as_ptr` no longer relies on this guarantee.
2025-06-19 12:04:24 +07:00
The Miri Cronjob Bot
e9433426a1 Merge from rustc 2025-06-19 05:03:01 +00:00
Jakub Beránek
718e475cb1
Clarify arrow in snapshot tests 2025-06-19 06:56:26 +02:00
Jakub Beránek
21d21d5f81
Normalize host target in snapshot tests 2025-06-19 06:56:26 +02:00
The Miri Cronjob Bot
19c6f75929 Preparing for merge from rustc 2025-06-19 04:55:44 +00:00
Jakub Beránek
8c28161373
Add get_host_target function 2025-06-19 06:53:35 +02:00
Lukas Wirth
58d4b99331
Merge pull request #20039 from ShoyuVanilla/let-bind-ref-capt
fix: Closure capturing for let exprs
2025-06-19 04:47:50 +00:00
Michael Goulet
04a2eec304 Cache instantiation of canonical binder 2025-06-19 04:23:25 +00:00
The rustc-dev-guide Cronjob Bot
d854d56344 Merge from rustc 2025-06-19 04:07:39 +00:00
The rustc-dev-guide Cronjob Bot
48b36ee8ad Preparing for merge from rustc 2025-06-19 04:07:21 +00:00
bors
8a65ee0829 Auto merge of #142697 - tgross35:rollup-xu4yuq6, r=tgross35
Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#140247 (Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs)
 - rust-lang/rust#142507 (use `#[align]` attribute for `fn_align`)
 - rust-lang/rust#142524 (Weekly `cargo update`)
 - rust-lang/rust#142606 (AsyncDrop trait without sync Drop generates an error)
 - rust-lang/rust#142639 (Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs)
 - rust-lang/rust#142654 (library: Increase timeout on mpmc test to reduce flakes)
 - rust-lang/rust#142692 (Assorted bootstrap cleanups (step 3))

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-19 03:27:53 +00:00
rustbot
f45ab4f742 Update books 2025-06-19 04:45:42 +02:00
Jason Newcomb
acd8810e77 Prepare to split lints into multiple crates
* Move `declare_clippy_lint` to it's own crate
* Move lint/group registration into the driver
* Make `dev update_lints` handle multiple lint crates
2025-06-18 22:37:23 -04:00
Ralf Jung
1aabebc32b various minor target feature cleanups 2025-06-19 10:50:03 +09:00
Ralf Jung
a50a3b8e31 various minor target feature cleanups 2025-06-19 10:50:03 +09:00
Trevor Gross
342f07ab31 Add a test for concat_bytes! with C strings
Also ensure the suggestions are checked, since this will be updated.
2025-06-18 21:10:31 -04:00
Ralf Jung
0c4b0f5726 line-wrap and extend comments, typos 2025-06-19 09:45:09 +09:00
Ralf Jung
3a0881c11b cg_gcc: properly populate cfg(target_features) with -Ctarget-features 2025-06-19 09:45:07 +09:00
Ralf Jung
8bec5bb5ad cg_gcc: properly populate cfg(target_features) with -Ctarget-features 2025-06-19 09:45:07 +09:00
Ralf Jung
e46c234ca4 unify two -Ctarget-feature parsers
This does change the logic a bit: previously, we didn't forward reverse
implications of negated features to the backend, instead relying on the backend
to handle the implication itself.
2025-06-19 09:44:24 +09:00
Ralf Jung
63c9292d56 move -Ctarget-feature handling into shared code 2025-06-19 09:44:01 +09:00
Ralf Jung
cd08652faa move -Ctarget-feature handling into shared code 2025-06-19 09:44:01 +09:00
Ralf Jung
25eb2ee146 move cfg(target_feature) computation into shared place 2025-06-19 09:42:35 +09:00
Ralf Jung
d70ec32ea7 move cfg(target_feature) computation into shared place 2025-06-19 09:42:35 +09:00
Manuel Drehwald
f25cfe83f2
Merge pull request #2447 from rust-lang/offload-docs
initial instructions for gpu offload
2025-06-18 17:24:36 -07:00
Trevor Gross
986f8cd709
Rollup merge of #142692 - Kobzol:bootstrap-small-check-cleanup, r=jieyouxu
Assorted bootstrap cleanups (step 3)

I keep failing to unwrap the gordic knot of the logic of checking tools in bootstrap 😖 So in the meantime I at least want to upstream some cleanups I did along the way.

Since some time ago, we have separate steps for Clippy, so it shouldn't ever happen again that the check steps would be invoked with `builder.kind == Clippy`.

r? `@jieyouxu`
2025-06-18 20:22:52 -04:00
Trevor Gross
965d260094
Rollup merge of #142654 - workingjubilee:increase-timeout-factor-on-mpmc-test, r=joshtriplett
library: Increase timeout on mpmc test to reduce flakes

This recently spuriously failed in a rollup, so I think we can afford to increase the base timeout and the amount of time slept for to provide a much wider margin for the timeout to be reached.
2025-06-18 20:22:51 -04:00
Trevor Gross
b5b4fbe7a6
Rollup merge of #142639 - dpaoliello:needcolon, r=WaffleLapkin
Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs

The `location-detail-unwrap-multiline` test was failing when trying to enable `aarch64-pc-windows-msvc` CI Runners: https://github.com/rust-lang/rust/pull/140136#issuecomment-2978175728

When debugging, the normalized stderr was:

```
thread 'main' panicked at $DIR/location-detail-unwrap-multiline.rs:11:10:
called `Option::unwrap()` on a `None` value
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

Note the trailing colon at the end of the location details in the panic message. This was missing in the error pattern regex. No idea why it has been passing for all other targets and failed for `aarch64-pc-windows-msvc`, but with the trailing colon it is now passing for all.
2025-06-18 20:22:51 -04:00
Manuel Drehwald
0a185e422c initial instructions for gpu offload 2025-06-18 17:22:50 -07:00
Trevor Gross
2526b01fdd
Rollup merge of #142606 - azhogin:azhogin/async-drop-without-sync-drop-error, r=oli-obk
AsyncDrop trait without sync Drop generates an error

When type implements `AsyncDrop` trait, it must also implement sync `Drop` trait to be used in sync context and unwinds.
This PR adds error generation in such a case.

Fixes: rust-lang/rust#140696
2025-06-18 20:22:50 -04:00
Trevor Gross
a021227fb5
Rollup merge of #142524 - rust-lang:cargo_update, r=Mark-Simulacrum
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 31 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating hermit-abi v0.5.1 -> v0.5.2
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating minifier v0.3.5 -> v0.3.6
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating object v0.37.0 -> v0.37.1
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating rustc-demangle v0.1.24 -> v0.1.25
    Updating syn v2.0.101 -> v2.0.103
    Updating thread_local v1.1.8 -> v1.1.9
    Updating unicode-width v0.2.0 -> v0.2.1
    Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1
    Updating wasm-encoder v0.233.0 -> v0.235.0
    Removing wasmparser v0.232.0
    Removing wasmparser v0.233.0
      Adding wasmparser v0.234.0
      Adding wasmparser v0.235.0
    Updating wast v233.0.0 -> v235.0.0
    Updating wat v1.233.0 -> v1.235.0
    Updating windows v0.61.1 -> v0.61.3
    Updating windows-link v0.1.1 -> v0.1.3
      Adding windows-sys v0.60.2
    Updating windows-targets v0.53.0 -> v0.53.2
    Updating winnow v0.7.10 -> v0.7.11
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating libc v0.2.172 -> v0.2.173
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 19 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cc v1.2.26 -> v1.2.27
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_complete v4.5.52 -> v4.5.54
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating syn v2.0.101 -> v2.0.103
    Removing unicode-width v0.1.14
    Removing unicode-width v0.2.0
      Adding unicode-width v0.2.1
    Updating windows-link v0.1.1 -> v0.1.3
    Updating winnow v0.7.10 -> v0.7.11
```
2025-06-18 20:22:50 -04:00
Trevor Gross
07932ad111
Rollup merge of #142507 - folkertdev:fn-align-align-attribute, r=jdonszelmann
use `#[align]` attribute for `fn_align`

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

https://github.com/rust-lang/rfcs/pull/3806 decides to add the `#[align]` attribute for alignment of various items. Right now it's used for functions with `fn_align`, in the future it will get more uses (statics, struct fields, etc.)

(the RFC finishes FCP today)

r? `@ghost`
2025-06-18 20:22:49 -04:00
Trevor Gross
cff8e9ae14
Rollup merge of #140247 - BoxyUwU:iats_no_query_cycles, r=lcnr
Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs

Fixes rust-lang/rust#108491

Fixes rust-lang/rust#125879
This was due to updating inhabited predicate stuff which I had to do to make constructing ADTs with IATs in fields not ICE

Fixes rust-lang/rust#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE)
Fixes rust-lang/rust#138131

Avoids doing "fully correct" candidate selection for IATs during hir ty lowering when in item signatures as it almost always leads to a query cycle from trying to build a `ParamEnv`. I replaced it with a use `DeepRejectCtxt` which should be able to handle this kind of conservative "could these types unify" while in a context where we don't want to do type equality.

This is a relatively simple scheme and should be forwards compatible with doing something more complex/powerful.

I'm not really sure how this interacts with rust-lang/rust#126651, though I'm also not really sure its super important to support projecting IATs from IAT self types given we don't even support `T::Assoc::Other` for trait-associated types so didn't give much thought to how this might fit in with that.

r? `@compiler-errors`
cc `@fmease`
2025-06-18 20:22:48 -04:00
bors
d1d8e386c5 Auto merge of #140772 - mati865:gnullvm-host, r=Kobzol
{aarch64,x86_64}-pc-windows-gnullvm: build host tools

This is a temporary single-release workflow to create stage0 for these targets.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory.

https://github.com/rust-lang/compiler-team/issues/877
2025-06-19 00:21:07 +00:00
Jieyou Xu
2beccc4d8e
Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
antoyo
395bca1671
Merge pull request #710 from FractalFir/abi-cafe
Added support for testing the backend with abi-cafe
2025-06-18 18:58:31 -04:00
Tshepang Mbambo
79652d9cf0
Merge pull request #2476 from rust-lang/tshepang-patch-1
fix markup
2025-06-19 00:04:36 +02:00
Tshepang Mbambo
4145596954
fix markup
That was intended to be a list.

Also, the order is not relevant.
2025-06-19 00:03:33 +02:00
Zachary S
f3d4278643 Fix core::iter::Fuse's Default impl to do what it's docs say it does.
Add a doctest with a non-empty-by-default iterator.
2025-06-18 16:28:07 -05:00
bors
044514eb26 Auto merge of #142689 - Urgau:rollup-4ho6835, r=Urgau
Rollup of 6 pull requests

Successful merges:

 - rust-lang/rust#135656 (Add `-Z hint-mostly-unused` to tell rustc that most of a crate will go unused)
 - rust-lang/rust#138237 (Get rid of `EscapeDebugInner`.)
 - rust-lang/rust#141614 (lint direct use of rustc_type_ir )
 - rust-lang/rust#142123 (Implement initial support for timing sections (`--json=timings`))
 - rust-lang/rust#142377 (Try unremapping compiler sources)
 - rust-lang/rust#142674 (remove duplicate crash test)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-18 21:19:39 +00:00
Jakub Beránek
887566881f
Remove useless conditions about Clippy
We should always just use `Kind::Check` for the check steps, as Clippy now has an entirely separate set of steps.
2025-06-18 21:50:46 +02:00
Jakub Beránek
b47d36d8d1
Remove override_build_kind
It doesn't seem to be needed, we can just use `Kind::Check` explicitly.
2025-06-18 21:38:55 +02:00
bors
c68340350c Auto merge of #142685 - Kobzol:rollup-8f3g8yf, r=Kobzol
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - rust-lang/rust#141610 (Stabilize `feature(generic_arg_infer)`)
 - rust-lang/rust#142383 (CodeGen: rework Aggregate implemention for rvalue_creates_operand cases)
 - rust-lang/rust#142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)
 - rust-lang/rust#142619 (apply clippy::or_fun_call)
 - rust-lang/rust#142624 (Actually take `--build` into account in bootstrap)
 - rust-lang/rust#142627 (Add `StepMetadata` to describe steps)
 - rust-lang/rust#142660 (remove joboet from review rotation)
 - rust-lang/rust#142666 (Skip tidy triagebot linkcheck if `triagebot.toml` doesn't exist)
 - rust-lang/rust#142672 (Clarify bootstrap tools description)
 - rust-lang/rust#142674 (remove duplicate crash test)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-18 17:57:27 +00:00