Commit Graph

168817 Commits

Author SHA1 Message Date
bors 568b117627 Auto merge of #149555 - weihanglo:update-cargo, r=weihanglo
Update cargo submodule

14 commits in 2a7c4960677971f88458b0f8b461a866836dff59..bd979347d814dfe03bba124165dbce9554d0b4d8
2025-11-25 19:58:07 +0000 to 2025-12-02 16:03:50 +0000
- fix(completion): Put host-tuple before actual tuples (rust-lang/cargo#16327)
- fix(lints): use plural form correctly (rust-lang/cargo#16324)
- fix(completions): include `all` in `cargo tree --target` candidates (rust-lang/cargo#16322)
- fix(lints): show lint error number (rust-lang/cargo#16320)
- chore(deps): update compatible (rust-lang/cargo#16318)
- chore(deps): update crate-ci/typos action to v1.40.0 (rust-lang/cargo#16316)
- Do not lock the artifact-dir for check builds + fix uplifting (rust-lang/cargo#16307)
- Properly validate crate names in `cargo install` (rust-lang/cargo#16314)
- Support --filter-platform=host for cargo metadata rust-lang/cargo#9423 (rust-lang/cargo#16312)
- Update to mdbook 0.5 (rust-lang/cargo#16292)
- refactor(clean): Better divide old / new layout (rust-lang/cargo#16304)
- update: silent failure on non-matching package specs with --breaking (rust-lang/cargo#16276)
- fix(log): break timing-info message to multiple (rust-lang/cargo#16303)
- fix(clean): Clean hosts builds with new layout (rust-lang/cargo#16300)
2025-12-03 12:04:40 +00:00
bors 8202d11051 Auto merge of #149581 - matthiaskrgr:rollup-w4dixyc, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#148937 (Remove initialized-bytes tracking from `BorrowedBuf` and `BorrowedCursor`)
 - rust-lang/rust#149553 (added default_uwtables=true to aarch64_unknown_none targets)
 - rust-lang/rust#149578 (rustdoc: Fix broken link to `Itertools::format`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-12-03 07:56:09 +00:00
Matthias Krüger 7432e9ed6c Rollup merge of #149578 - lapla-cogito:rustdoc_iterformat, r=notriddle
rustdoc: Fix broken link to `Itertools::format`

close rust-lang/rust#148879
2025-12-03 07:36:14 +01:00
lapla 8949b816ee rustdoc: Fix broken link to Itertools::format 2025-12-03 12:56:30 +09:00
Eric Huss 880a779999 Update reference
Pulls in https://github.com/rust-lang/reference/pull/2080 to fix the tests.
2025-12-02 19:27:15 -08:00
Matthias Krüger 02434fe718 Rollup merge of #148678 - xonx4l:EO412_replacement_with_EO425, r=Kivooeo
Merge E0412 into E0425

This PR merge E0412 into E0425  as both mean the same thing to users.

This fixes https://github.com/rust-lang/rust/issues/148558.
2025-12-02 22:02:30 +01:00
Weihang Lo e778ec5311 Update cargo submodule 2025-12-02 14:31:07 -05:00
xonx4l 4b000cfacd Merge E0412 into E0425 2025-12-02 18:25:13 +00:00
bors eca9d93f90 Auto merge of #149529 - Muscraft:update-annotate-snippets, r=jieyouxu
chore: Update annotate-snippets to 0.12.10

This PR updates `annotate-snippets` to `0.12.10`, which [includes a fix](https://github.com/rust-lang/annotate-snippets-rs/blob/756366223cbf72b161757aec18209f21b3d19049/CHANGELOG.md#fixed) that modifies some test output.
2025-12-02 13:55:16 +00:00
bors a80d39a086 Auto merge of #149504 - mati865:i686-pc-windows-gnullvm, r=jieyouxu
Bring back i686-pc-windows-gnullvm target

rust-lang/rust#148751 inadvertently removed i686-pc-windows-gnullvm std build when migrating to native CI runners. Since this change was not agreed upon, we should bring back prebuilt std builds for that target.

There are a few runners that could do it: dist-aarch64-llvm-mingw, dist-x86_64-llvm-mingw, dist-various-1 and dist-various-2.
dist-x86_64-llvm-mingw already takes slightly over 2 hours, so the faster dist-aarch64-llvm-mingw is a better choice.
We can also use dist-various-x job, they don't have llvm-mingw toolchain, but it's trivial to install one.
2025-12-02 10:42:35 +00:00
Stuart Cook 5afd8ff8df Rollup merge of #149516 - mati865:no-msys2, r=jieyouxu
Stop adding MSYS2 to PATH

Rust no longer requires MSYS2 provided tools like make.
2025-12-02 13:56:32 +11:00
Stuart Cook 7cb02f9752 Rollup merge of #149508 - mati865:mingw-helpers, r=jieyouxu
Prefer helper functions to identify MinGW targets
2025-12-02 13:56:31 +11:00
Stuart Cook 7437db72a8 Rollup merge of #149507 - mati865:windows-gnu-like-no-asserts, r=clubby789
Mark windows-gnu* as lacking build with assertions

Knowing that `x86_64-pc-windows-gnu` has no builds with assertions, I have just copied it as `x86_64-pc-windows-gnullvm` and called a day. Obviously it should have been `false`, sorry for that.
While at it, also fix `x86_64-pc-windows-gnu`.
2025-12-02 13:56:31 +11:00
Stuart Cook bbde1c0825 Rollup merge of #149470 - Zalathar:prepared-conditions, r=jieyouxu
compiletest: Prepare ignore/only conditions once in advance, without a macro

Compiletest has historically handled `ignore-*` and `only-*` directives in an extremely confusing way that makes the code hard to understand and hard to modify.

This PR therefore takes an important step away from that older design by instead evaluating a set of named boolean "conditions" in advance, and then using those conditions to help determine whether a particular directive should cause its test to be ignored or not.

As usual, there's more cleanup that I want to do here, but I've left most of it for future work to help keep this PR manageable.

r? jieyouxu
2025-12-02 13:56:30 +11:00
Stuart Cook c539f3ffe1 Rollup merge of #149241 - thejpster:fix-armv4t-armv5te-bare-metal, r=davidtwco
Fix armv4t- and armv5te- bare metal targets

These two targets currently force on the LLVM feature `+atomics-32`. LLVM doesn't appear to actually be able to emit 32-bit load/store atomics for these targets despite this feature, and emits calls to a shim function called `__sync_lock_test_and_set_4`, which nothing in the Rust standard library supplies.

See [#t-compiler/arm > __sync_lock_test_and_set_4 on Armv5TE](https://rust-lang.zulipchat.com/#narrow/channel/242906-t-compiler.2Farm/topic/__sync_lock_test_and_set_4.20on.20Armv5TE/with/553724827) for more details.

Experimenting with clang and gcc (as logged in that zulip thread) shows that C code cannot do atomic load/stores on that architecture either (at least, not without a library call inserted).

So, the safest thing to do is probably turn off `+atomics-32` for these two Tier 3 targets.

I asked `@Lokathor` and he said he didn't even use atomics on the `armv4t-none-eabi`/`thumbv4t-none-eabi` target he maintains.

I was unable to reach `@QuinnPainter` for comment for `armv5te-none-eabi`/`thumbv5te-none-eabi`.

The second commit renames the base target spec `spec::base::thumb` to `spec::base::arm_none` and changes `armv4t-none-eabi`/`thumbv4t-none-eabi` and `armv5te-none-eabi`/`thumbv5te-none-eabi` to use it. This harmonises the frame-pointer and linker options across the bare-metal Arm EABI and EABIHF targets.

You could make an argument for harmonising `armv7a-none-*`, `armv7r-none*` and `armv8r-none-*` as well, but that can be another PR.
2025-12-02 13:56:30 +11:00
Scott Schafer b2b059c20b chore: Update annotate-snippets to 0.12.10 2025-12-01 18:12:35 -07:00
Mateusz Mikuła dc61415746 Prefer helper functions to identify MinGW targets 2025-12-01 19:12:00 +01:00
Mateusz Mikuła 662192a878 Stop adding MSYS2 to PATH
Rust no longer requires MSYS2 tools like make.
2025-12-01 18:37:33 +01:00
Mateusz Mikuła 9498f21277 Bring back i686-pc-windows-gnullvm target 2025-12-01 16:46:14 +01:00
Lukas Wirth c435a5f17f fix: Fix proc-macro-srv passing invalid extra none group to proc-macros 2025-12-01 16:28:18 +01:00
Mateusz Mikuła 57a1000f13 Mark windows-gnu* as lacking build with assertions 2025-12-01 16:02:08 +01:00
Zalathar b03a65543f Prepare ignore/only conditions once in advance, without a macro 2025-12-02 00:15:07 +11:00
Laurențiu Nicola 1973e38505 Use Itertools::exactly_one in a couple more places 2025-12-01 12:53:39 +02:00
Laurențiu Nicola e3d314d40d Merge pull request #21185 from rust-lang/rustc-pull
Rustc pull update
2025-12-01 10:40:59 +00:00
Laurențiu Nicola 9c44cb8bfb Merge pull request #21171 from Veykril/push-puuqoostoysw
minor: Option-box `crate_lang_items` query result
2025-12-01 10:40:41 +00:00
The rustc-josh-sync Cronjob Bot 7c2523f84d Merge ref 'dfe1b8c97bcd' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: dfe1b8c97b
Filtered ref: d3d1f3831e6b7fa73889d90bc8dd56d22cb80834
Upstream diff: https://github.com/rust-lang/rust/compare/1be6b13be73dc12e98e51b403add4c41a0b77759...dfe1b8c97bcde283102f706d5dcdc3649e5e12e3

This merge was created using https://github.com/rust-lang/josh-sync.
2025-12-01 04:34:35 +00:00
The rustc-josh-sync Cronjob Bot c6a4a53535 Prepare for merging from rust-lang/rust
This updates the rust-version file to dfe1b8c97b.
2025-12-01 04:29:36 +00:00
bors dfe1b8c97b Auto merge of #149463 - cyrgani:comma-fix, r=chenyukang
add a missing comma to default r-a settings file
2025-11-30 21:15:15 +00:00
Lukas Wirth 75d26b054b internal: Ensure proc-macro-api version check works with postcard across protocol versions 2025-11-30 18:46:29 +01:00
Matthias Krüger 97b5b9b817 Rollup merge of #148169 - fmease:rustdoc-bad-intra-bad-preprocess, r=lolbinarycat
Fix bad intra-doc-link preprocessing

How did rust-lang/rust#147981 happen?

1. We don't parse intra-doc links as Rust paths or qpaths. Instead they follow a very lenient bespoke grammar. We completely ignore Markdown links if they contain characters that don't match `/[a-zA-Z0-9_:<>, !*&;]/` (we don't even emit lint *broken-intra-doc-links* for these).
2. PR [#132748](https://github.com/rust-lang/rust/pull/132748) made rustdoc intepret more Markdown links as potential intra-doc links. Namely, if the link is surrounded by backticks (and some other conditions apply) then it doesn't matter if the (partially processed) link contains bad characters as defined above (cc `ignore_urllike && should_ignore_link(path_str)`).
3. However, rustdoc's `preprocess_link` must be kept in sync with a simplified counterpart in rustc. More specifically, whenever rustdoc's preprocessor returns a successful result then rustc's must yield the same result. Otherwise, rustc doesn't resolve the necessary links for rustdoc.
4. This uncovered a "dormant bug" / "mistake" in rustc's `preprocess_link`. Namely, when presented with a link like `struct@Type@suffix`, it didn't cut off the disambiguator if present (here: `struct@`). Instead it `rsplit('``@')``` which is incorrect if the "path" contains ```@``` itself (yielding `suffix` instead of `Type@suffix` here). Prior to PR [#132748](https://github.com/rust-lang/rust/pull/132748), a link like ``[`struct@Type@suffix`]`` was not considered a potential intra-doc link / worth querying rustc for. Now it is due to the backticks.
5. Finally, since rustc didn't record a resolution for `Type@suffix` (it only recorded `suffix` (to be `Res::Err`)), we triggered an assertion we have in place to catch cases like this.

Fixes rust-lang/rust#147981.

I didn't and still don't have the time to investigate if rust-lang/rust#132748 led to more rustc/rustdoc mismatches (after all, the PR made rustdoc's `preprocess_link` return `Some(Ok(_))` in more cases). I've at least added another much needed "warning banner" & made the existing one more flashy.

While this fixes a stable-to-beta regression, I don't think it's worth beta backporting, esp. since it's only P-medium and since the final 1.91 release steps commence today / the next days, so it would only be stressful to get it in on time. However, feel free to nominate.

<sub>(I've written such a verbose PR description since I tend to reread my old PR descriptions in the far future to fully freshen my memories when I have to work again in this area)</sub>

r? ``@lolbinarycat``
2025-11-30 18:44:22 +01:00
León Orell Valerian Liehr 55d90c0653 Fix bad intra-doc-link preprocessing 2025-11-30 13:08:59 +01:00
bors 03ce87dfb2 Auto merge of #149474 - RalfJung:miri, r=RalfJung
miri subtree update

Subtree update of `miri` to https://github.com/rust-lang/miri/commit/074992992071e27ba2e2ea8b8e3b53e3c08360ab.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
2025-11-30 10:27:52 +00:00
Chayim Refael Friedman b657006ccd Merge pull request #21177 from dfaure-kdab/fix-for-static
gdb pretty printer: fix printing when using Repr::Static
2025-11-30 09:45:25 +00:00
David Faure 34fe0cecf4 internal: fix gdb pretty printer when using Repr::Static
I missed a ["__0"] to access the str in the Static case.

Also, simplify the code to rely on the pretty printer for str
rather than accessing data_ptr/length directly. This makes it
more robust against changes in str.

Output before: "<SmolStr Static error: There is no member named data_ptr.>"
Output after: "preferred-width"
2025-11-30 10:35:07 +01:00
Chayim Refael Friedman 3924ffec5f Remove the block from DbInterner
Turns out we're not using it anymore.
2025-11-30 11:18:45 +02:00
Lukas Wirth c9843952a7 Merge pull request #21159 from ChayimFriedman2/fix-dyn-projections
fix: Rewrite dyn trait lowering to follow rustc
2025-11-30 08:52:40 +00:00
bors 91ab3083bb Auto merge of #149327 - lolbinarycat:rustdoc-types-fixup, r=notriddle
yet another improvment to rustdoc js typechecking

biggest improvment is the docs for `FunctionType` and the signatures for functions that accept names of crates were both slightly wrong, this has now been fixed.
2025-11-30 07:16:47 +00:00
Zalathar 49ccc43427 Use a set to detect ignore- directives handled elsewhere
This commit also renames the confusing `NotADirective` outcome, and fuses it
with `External` into a single `NotHandledHere` outcome.
2025-11-30 14:45:21 +11:00
Zalathar 41691d3376 Set test = false in the compiletest binary crate
The binary crate is a tiny stub; all of the logic and tests should be in the
library crate.

Disabling unit tests for the binary crate makes `x test compiletest` less
noisy.
2025-11-30 14:08:21 +11:00
Chayim Refael Friedman 7f6f1d545c Merge pull request #21170 from ChayimFriedman2/multi-target-feature
fix: Support multiple `enable` in `#[target_feature]`
2025-11-30 02:22:32 +00:00
cyrgani 33f2e82477 add a missing comma to default r-a settings file 2025-11-29 21:31:43 +00:00
bors 3ff30e7eaf Auto merge of #149462 - matthiaskrgr:rollup-vfwin7f, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#148746 (const validation: remove check for mutable refs in final value of const)
 - rust-lang/rust#148765 (std: split up the `thread` module)
 - rust-lang/rust#149454 (resolve: Identifier resolution refactorings)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-11-29 20:11:02 +00:00
Lukas Wirth e8bb59b449 minor: Option-box crate_lang_items query result 2025-11-29 20:55:23 +01:00
Chayim Refael Friedman 2ecafe2c7d Support multiple enable in #[target_feature] 2025-11-29 21:23:04 +02:00
Chayim Refael Friedman b35d46cc5f Rewrite dyn trait lowering to follow rustc
Turns out, we need to elaborate supertrait projections, and the logic isn't trivial either!
2025-11-29 21:07:37 +02:00
Lukas Wirth e78e835951 Slim down tuple_field_access_types 2025-11-29 20:01:53 +01:00
Lukas Wirth 70b3c3559f internal: New style salsa infer query 2025-11-29 19:43:52 +01:00
binarycat fa8eb7e400 rustdoc: remove console.log and improve focus event typechecking 2025-11-29 12:43:41 -06:00
Chayim Refael Friedman bf75855cb3 Fix a panic where all_crates() is empty 2025-11-29 18:52:18 +02:00
Chayim Refael Friedman 4b29847544 Make Semantics::attach_first_edition() not return Option
And instead call `EditionedFileId::current_edition_guess_origin`, as most callers do it anyway.
2025-11-29 18:52:18 +02:00