Commit Graph

305409 Commits

Author SHA1 Message Date
Nikita Popov 186d91daf7 Revert "Auto merge of #144086 - clubby789:alloc-zeroed, r=nikic"
This reverts commit 040a98af70, reversing
changes made to e8a792daf5.
2025-09-25 16:36:51 +02:00
bors bb624dcb4c Auto merge of #146815 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] bump to released stable compiler

https://forge.rust-lang.org/release/process.html#beta-stage0-update-friday

r? `@Mark-Simulacrum`
2025-09-20 19:51:19 +00:00
Mark Rousskov af93ed5a79 Bump to released stable compiler on beta branch 2025-09-20 13:13:53 -04:00
bors b34cfaf51a Auto merge of #146687 - lambdageek:revert-rc-for-beta, r=jieyouxu
[beta] Revert "compiler: Add Windows resources to rustc-main and rustc_driver"

This reverts rust-lang/rust#146018 due to rust-lang/rust#146693
2025-09-19 09:02:13 +00:00
Aleksey Kliger 6347e7f7e0 Revert "compiler: Add Windows resources to rustc-main and rustc_driver"
This reverts commit 095fa86a3b.
2025-09-17 16:33:41 -04:00
bors 1bffa23001 Auto merge of #146545 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] Initial cut for 1.91 beta

https://forge.rust-lang.org/release/process.html#beta-pr

Also backports:

- Only run Cranelift dist test on nightly rust-lang/rust#146582

r? `@Mark-Simulacrum`
2025-09-15 15:35:56 +00:00
Jakub Beránek 8499d50da0 Only run Cranelift dist test on nightly 2025-09-15 08:36:53 -04:00
Mark Rousskov 9c650eade6 Set channel to beta 2025-09-14 14:43:32 -04:00
Mark Rousskov 03265b459f Update CURRENT_RUSTC_VERSION post-bump 2025-09-14 14:43:32 -04:00
bors a015919e54 Auto merge of #146526 - jhpratt:rollup-afb1dgo, r=jhpratt
Rollup of 8 pull requests

Successful merges:

 - rust-lang/rust#113095 (Document `become` keyword)
 - rust-lang/rust#146159 (Some hygiene doc improvements)
 - rust-lang/rust#146171 (tidy: check that error messages don't start with a capitalized letter)
 - rust-lang/rust#146419 (Update the arm-* and aarch64-* platform docs.)
 - rust-lang/rust#146473 (Revert "Constify SystemTime methods")
 - rust-lang/rust#146506 (Fix small typo in check-cfg.md)
 - rust-lang/rust#146517 (fix Condvar::wait_timeout docs)
 - rust-lang/rust#146521 (document `core::ffi::VaArgSafe`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-13 23:02:12 +00:00
Jacob Pratt da1c27df16 Rollup merge of #146521 - folkertdev:document-va-arg-safe, r=workingjubilee
document `core::ffi::VaArgSafe`

tracking issue: https://github.com/rust-lang/rust/issues/44930

A modification of https://github.com/rust-lang/rust/pull/146454, keeping just the documentation changes, but not unsealing the trait.

Although conceptually we'd want to unseal the trait, there are many edge cases to supporting arbitrary types. We'd need to exhaustively test that all targets/calling conventions support all types that rust might generate (or generate proper error messages for unsupported cases). At present, many of the `va_arg` implementations assume that the argument is a scalar, and has an alignment of at most 8. That is totally  sufficient for an MVP (accepting all of the "standard" C types), but clearly does not cover all rust types.

This PR also adds some various other tests for edge cases of c-variadic:

- the `#[inline]` attribute in its various forms. At present, LLVM is unable to inline c-variadic functions, but the attribute should still be accepted. `#[rustc_force_inline]` already rejects c-variadic functions.
- naked functions should accept and work with a C variable argument list. In the future we'd like to allow more ABIs with naked functions (basically, any ABI for which we accept defining foreign c-variadic functions), but for now only  `"C"` and `"C-unwind` are supported
- guaranteed tail calls: c-variadic functions cannot be tail-called. That was already rejected, but there was not test for it.

r? `@workingjubilee`
2025-09-13 18:55:20 -04:00
Jacob Pratt 08db93806b Rollup merge of #146517 - RalfJung:wait-timeout, r=joboet
fix Condvar::wait_timeout docs

[Context](https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Condvar.20wait_timeout.20sleep.20duration.20decremented/with/539279839)
r? `@joboet`
2025-09-13 18:55:19 -04:00
Jacob Pratt 392d2fad16 Rollup merge of #146506 - mikysett:patch-1, r=Urgau
Fix small typo in check-cfg.md
2025-09-13 18:55:18 -04:00
Jacob Pratt 5d56e52409 Rollup merge of #146473 - RalfJung:system-time-deconst, r=workingjubilee
Revert "Constify SystemTime methods"

This reverts https://github.com/rust-lang/rust/pull/144519. The const-hacks introduces bugs, and they make the code harder to maintain. Let's wait until we can constify these functions without changing their implementation.

Fixes https://github.com/rust-lang/rust/issues/146228.
Closes https://github.com/rust-lang/rust/issues/144517 (since the feature is gone).
r? `@tgross35`
Cc `@clarfonthey`
2025-09-13 18:55:18 -04:00
Jacob Pratt 04f17d85ed Rollup merge of #146419 - thejpster:update-arm-target-docs, r=workingjubilee
Update the arm-* and aarch64-* platform docs.

This PR updates some of the arm*-unknown-none target docs, and adds some missing target pages.

## aarch64-none-elf and aarch64-none-elf-softfloat

The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and a target page is added. Links are added to the EDWG's support crates for this target.

## armv7a-none-eabi and armv7a-none-eabihf

The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and a target page is added. Links are added to the EDWG's support crates for this target.

## armv7r-none-eabi and armv7r-none-eabihf

The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and the target page is split from the Big Endian versions. Links are added to the EDWG's support crates for this target.

## armebv7r-none-eabi and armveb7r-none-eabihf

The target page is split from the Little Endian versions. No change in maintainers.

I have agreement to add EDWG/T-Arm as maintainers, which was voted upon in [their repo](https://github.com/rust-embedded/wg/issues/851).
2025-09-13 18:55:17 -04:00
Jacob Pratt 141cb38f15 Rollup merge of #146171 - scrabsha:push-wovnxxwltsun, r=WaffleLapkin
tidy: check that error messages don't start with a capitalized letter
2025-09-13 18:55:17 -04:00
Jacob Pratt 4ee860f6b8 Rollup merge of #146159 - camsteffen:hygiene-docs, r=petrochenkov
Some hygiene doc improvements

Improve some doc comments around SyntaxContext, outer_expn and friends.

Based on discussion at https://github.com/rust-lang/rust/pull/146100.

r? petrochenkov
2025-09-13 18:55:16 -04:00
Jacob Pratt e9c80c733e Rollup merge of #113095 - WaffleLapkin:document_becoming_unuwuable, r=workingjubilee
Document `become` keyword

The feature is not yet implemented, so I'm not sure if we should merge this _right away_, promoting an incomplete feature is probably not the best idea. But the docs can be reviewed while the implementation work is being done.
2025-09-13 18:55:15 -04:00
bors 02c7b1a7ac Auto merge of #146491 - jdonszelmann:update-fixme-compare_method_predicate_entailment, r=lcnr
update fixme in compare_method_predicate_entailment resulting from review of EII

r? `@lcnr`

Just the comment update separately from https://github.com/rust-lang/rust/pull/146348/files since it doesn't really belong in that PR. Should be trivial
2025-09-13 19:39:05 +00:00
Folkert de Vries a107ea18af c-variadic: check that inline attributes are accepted on c-variadic functions
they don't do anything, because LLVM is unable to inline c-variadic functions (on most targets, anyway)
2025-09-13 21:05:12 +02:00
Folkert de Vries d28c31a600 c-variadic: check that c-variadic functions cannot be tail-called
as far as I can see this was not tested, though the error message was already implemented
2025-09-13 21:05:12 +02:00
Folkert de Vries a84bb32e05 c-variadic: test ... with naked functions 2025-09-13 21:05:12 +02:00
Folkert de Vries 61a3593786 c-variadic: document core::ffi::VaArgSafe
and document `VaList::arg`.
2025-09-13 21:04:58 +02:00
Jonathan 'theJPster' Pallant afd324aa2c Note that these targets are bare-metal.
This is important to note, as it affects how easy it is to build a
binary, and that `#![no_std]` is mandatory.

A different PR should probably add this to all the other platform pages.
2025-09-13 19:25:44 +01:00
Ralf Jung f21d3fbce9 fix Condvar::wait_timeout docs 2025-09-13 20:13:37 +02:00
Waffle Lapkin f13c8c2192 fixup become kw documentation wrt #[track_caller] 2025-09-13 19:48:10 +02:00
Maybe Waffle cc9225406c Document become keyword 2025-09-13 19:48:07 +02:00
Jana Dönszelmann 365189ef4f update fixme in compare_method_predicate_entailment resulting from review of EII 2025-09-13 10:12:18 -07:00
bors 637b50be01 Auto merge of #145186 - camsteffen:assoc-impl-kind, r=petrochenkov
Make `AssocItem` aware of its impl kind

The general goal is to have fewer query dependencies by making `AssocItem` aware of its parent impl kind (inherent vs. trait) without having to query the parent def_kind.

See individual commits.
2025-09-13 13:59:48 +00:00
Michele Sessa d3b3bb9bb2 Fix small typo in check-cfg.md 2025-09-13 15:03:29 +02:00
bors b50f345a2f Auto merge of #146499 - jhpratt:rollup-ufflehe, r=jhpratt
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#144498 (Add --print target-spec-json-schema)
 - rust-lang/rust#145471 (Stabilize BTree{Map,Set}::extract_if)
 - rust-lang/rust#145896 (Rehome 30 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` [rust-lang/rust#3 of Batch rust-lang/rust#2])
 - rust-lang/rust#146450 (bootstrap: rustdoc-js tests can now be filtered by js files)
 - rust-lang/rust#146456 (Fix panic and incorrectly suggested examples in `format_args` macro.)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-13 10:43:09 +00:00
Ralf Jung 2baa39e89f also apply revert to wasip2 2025-09-13 10:41:59 +02:00
Jacob Pratt c4539b2d58 Rollup merge of #146456 - IoaNNUwU:issue-146446, r=estebank
Fix panic and incorrectly suggested examples in `format_args` macro.

Follow up on rust-lang/rust#146123
Fixes: rust-lang/rust#146446
r? `@estebank`
2025-09-13 03:26:03 -04:00
Jacob Pratt 7be418947e Rollup merge of #146450 - lolbinarycat:bootstrap-test-js, r=jieyouxu
bootstrap: rustdoc-js tests can now be filtered by js files

Before, a command like `./x test tests/rustdoc-js/path-ordering.js` would succeed, but run no tests, since the names of the tests are based on the `.rs` file.  This is a bit confusing, as the `rustdoc-js-std` test suite only has `.js` files, and thus those are the files you filter on.  Now, `./x test tests/rustdoc-js/path-ordering.js` will be treated as an alias for `./x test tests/rustdoc-js/path-ordering.rs`.  This is fairly simple as each `rustdoc-js` test has 2 files, 1 js file and one rust file, each with an identical base filename, so all we need to do is swap the extension.

r? `@Kobzol`
2025-09-13 03:26:03 -04:00
Jacob Pratt 82bb6d523b Rollup merge of #145896 - Oneirical:uncountable-integer-10, r=jieyouxu
Rehome 30 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` [#3 of Batch #2]

Part of rust-lang/rust#133895

Methodology:

1. Refer to the previously written `tests/ui/SUMMARY.md`
2. Find an appropriate category for the test, using the original issue thread and the test contents.
3. Add the issue URL at the bottom (not at the top, as that would mess up stderr line numbers)
4. Rename the tests to make their purpose clearer

Inspired by the methodology that `@Kivooeo` was using.

r? `@jieyouxu`
2025-09-13 03:26:02 -04:00
Jacob Pratt 5b37a1e4ae Rollup merge of #145471 - rs-sac:extr, r=the8472
Stabilize BTree{Map,Set}::extract_if

Tracking issue: rust-lang/rust#70530
FCP completed: https://github.com/rust-lang/rust/issues/70530#issuecomment-3191454465
Closes: rust-lang/rust#70530
2025-09-13 03:26:02 -04:00
Jacob Pratt 544644476d Rollup merge of #144498 - Noratrieb:rustc-json-schema, r=jieyouxu,davidtwco
Add --print target-spec-json-schema

This schema is helpful for people writing custom target spec JSON. It can provide autocomplete in the editor, and also serves as documentation when there are documentation comments on the structs, as `schemars` will put them in the schema.

I was motivated to do this because I saw someone write their own version of this schema by hand, so demand for this clearly exists. It's not a lot of effort to implement, so I thought it would make sense.

MCP: https://github.com/rust-lang/compiler-team/issues/905

I think it would also be useful to put this in the sysroot in `etc` so people can link it directly in their editors.

I would have loved to add a test that validates the JSON schema against the spec JSON of every builtin target, but I don't want to do it as the JSON schema validation crates have incredible amounts of dependencies because JSON schema supports a ton of random features. I don't want to add that, even as a dev dependency.
2025-09-13 03:26:01 -04:00
bors 064cc81354 Auto merge of #146394 - Enselic:debuginfo-level-tests-2, r=jieyouxu
ci: Increase `rust.debuginfo-level-tests` to `2` in `x86_64-gnu-debug` job

Simply to increase the scope of the testing.

Part of https://github.com/rust-lang/rust/issues/61117.

cc rust-lang/rust#145967 and rust-lang/rust#146025 which prepared for this. And rust-lang/rust#144499 that set to level to `1`

try-job: x86_64-gnu-debug
2025-09-13 07:24:30 +00:00
bors 9642c0ef67 Auto merge of #146494 - jdonszelmann:rollup-0bbwwwf, r=jdonszelmann
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#146389 (Convert `no_std` and `no_core` to the new attribute infrastructure)
 - rust-lang/rust#146403 (sort array trait implementation suggestions correctly)
 - rust-lang/rust#146452 (Improve `alloc::Layout` coverage)
 - rust-lang/rust#146477 (Improve `core::char` coverage)
 - rust-lang/rust#146481 (Improve `core::hash` coverage)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-13 04:21:44 +00:00
Jana Dönszelmann ec0f3bd2ed Rollup merge of #146481 - ferrocene:pvdrz/improve-hash-coverage, r=jhpratt
Improve `core::hash` coverage

This PR improves the `core::hash` coverage by adding a new test to `coretests` and extending one of the existing tests to use 128-bit integers

r? libs
2025-09-13 02:40:46 +02:00
Jana Dönszelmann 7928be014c Rollup merge of #146477 - ferrocene:pvdrz/improve-char-coverage, r=Noratrieb
Improve `core::char` coverage

This PR improves the `core::char` coverage by adding new tests to `coretests`

r? ``@workingjubilee``
2025-09-13 02:40:45 +02:00
Jana Dönszelmann e4dbbbd322 Rollup merge of #146452 - ferrocene:pvdrz/improve-alloc-coverage, r=tgross35
Improve `alloc::Layout` coverage

This PR improves the `core::alloc` coverage by adding a new test to `coretests` that cover the `Layout` methods when they error.

Tracking issue: https://github.com/rust-lang/rust/issues/55724
2025-09-13 02:40:45 +02:00
Jana Dönszelmann 5dd5264d14 Rollup merge of #146403 - cyrgani:array-sugg-sorting, r=fee1-dead
sort array trait implementation suggestions correctly

Fixes rust-lang/rust#135098.
Previously tried in rust-lang/rust#137428.
2025-09-13 02:40:44 +02:00
Jana Dönszelmann 147e97ae68 Rollup merge of #146389 - jdonszelmann:no-std, r=oli-obk
Convert `no_std` and `no_core` to the new attribute infrastructure

r? ```@oli-obk```

Also added a test for these, since we didn't have any and I was kind of surprised new diagnostics didn't break anything hehe
2025-09-13 02:40:44 +02:00
bors 4ba1cf9ade Auto merge of #146444 - heiher:fix-loong-jemalloc-page-size, r=Mark-Simulacrum
bootstrap: Build jemalloc for LoongArch with support for 16K pages

By default, jemalloc is configured with a 4K page size. If the host’s page size is larger than this, it will crash at runtime. This patch raises the page size to 16K.
2025-09-12 20:41:17 +00:00
Cameron Steffen b995a55caf Don't store defaultness for inherent impl items 2025-09-12 15:14:15 -05:00
Cameron Steffen 9615ec7d10 Split AssocContainer::{InherentImpl,TraitImpl} 2025-09-12 15:14:15 -05:00
Cameron Steffen 88a8bfcaf0 Introduce hir::ImplItemImplKind 2025-09-12 15:14:15 -05:00
Cameron Steffen 5590e55b03 Rename AssocItemContainer -> AssocContainer 2025-09-12 15:10:30 -05:00
Cameron Steffen 16c218c57f Introduce trait_item_of 2025-09-12 15:10:30 -05:00