Commit graph

298901 commits

Author SHA1 Message Date
Ada Alakbarova
b285908472
fix typo 2025-06-06 13:15:46 +02:00
Samuel Tardieu
f2922e7a27
fix typo (#14995)
changelog: none
2025-06-06 10:39:17 +00:00
Ada Alakbarova
5930e54ce5
fix typo 2025-06-06 12:28:44 +02:00
Petr Sumbera
523cf1291b add solaris targets to build-manifest 2025-06-06 12:07:24 +02:00
Ralf Jung
f0d0882fe1
Merge pull request #4378 from RalfJung/flock
use File::lock to implement flock, and add a test for File::lock
2025-06-06 09:44:43 +00:00
mejrs
5fdacfe1b7 Force exhaustive handling of every parsed attribute 2025-06-06 11:43:23 +02:00
mejrs
dc14e73232 Delete unused variant and document AttributeKind 2025-06-06 11:43:22 +02:00
scottmcm
f9cf0964db
Update compiler/rustc_abi/src/layout/ty.rs
Co-authored-by: Ralf Jung <post@ralfj.de>
2025-06-06 09:30:40 +00:00
Ralf Jung
b1652dc7d5 use File::lock to implement flock, and add a test for File::lock 2025-06-06 11:12:12 +02:00
Vincent Esche
50c2faad92 Make Semantics<'db, dyn HirDatabase> actually usable 2025-06-06 09:45:34 +02:00
Lukas Wirth
3bae562b51
Merge pull request #19908 from rmehri01/rmehri01/diagnostic_attribute_completions
feat: implement attribute completions for diagnostics module
2025-06-06 07:19:13 +00:00
Weihang Lo
338216927a
Update cargo 2025-06-06 14:51:35 +08:00
Oli Scherer
ccb3aca61f
Merge pull request #4380 from rust-lang/rustup-2025-06-06
Automatic Rustup
2025-06-06 06:16:51 +00:00
Jubilee Young
d945c8562b compiler: Add track_caller to AbiMapping::unwrap
Same reason as it is on Option's.
2025-06-05 23:09:31 -07:00
Lukas Wirth
337c2d993b
Merge pull request #19937 from Veykril/push-rvnylnlnxxyr
fix: Record macro calls for fields in `ChildBySource` impls
2025-06-06 05:45:48 +00:00
Lukas Wirth
98a4508e57
Merge pull request #19935 from ChayimFriedman2/exp-diag-show-quickfix
fix: Always include quickfixes for diagnostics, even when diagnostics are disabled
2025-06-06 05:35:52 +00:00
Lukas Wirth
c8b0b081f4
Merge pull request #19936 from ChayimFriedman2/unlinked-file-stable
fix: Stabilize unlinked file diagnostic
2025-06-06 05:35:02 +00:00
Lukas Wirth
e90b3fb51f fix: Record macro calls for fields in ChildBySource impls 2025-06-06 07:34:42 +02:00
The Miri Cronjob Bot
c44bc10b67 Merge from rustc 2025-06-06 05:02:49 +00:00
Deadbeef
8a7262c426 deduplicate more walk_* methods in AST visit 2025-06-06 04:59:26 +00:00
The Miri Cronjob Bot
8c410ca291 Preparing for merge from rustc 2025-06-06 04:55:10 +00:00
Ayush Singh
669564d028
std: sys: random: uefi: Provide rdrand based fallback
Some UEFI systems based on American Megatrends Inc. v3.3 do not provide
RNG support [1]. So fallback to rdrand in such cases.

[1]: https://github.com/rust-lang/rust/issues/138252#issuecomment-2891270323

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-06-06 10:14:08 +05:30
Tshepang Mbambo
0ffff4657a remove extraneous text
"Basic usage" implies there is an example that shows advanced usage
2025-06-06 06:39:51 +02:00
bors
d00435f223 Auto merge of #141272 - Shourya742:2025-05-18-modularize-config-module, r=Kobzol
modularize the config module bootstrap

Currently, our `config` module is quite large over 3,000 lines, and handles a wide range of responsibilities. This PR aims to break it down into smaller, more focused submodules to improve readability and maintainability:

* **`toml`**: Introduces a dedicated `toml` submodule within the `config` module. Its sole purpose is to define configuration-related structs along with their corresponding deserialization logic. It also contains the `parse_inner` method, which serves as the central function for extracting relevant information from the TOML structs and constructing the final configuration.

* **`rust`, `dist`, `install`, `llvm`, `build`, `gcc`, and others**: Each of these modules contains TOML subsections specific to their domain, along with the logic necessary to convert them into parts of the final configuration struct.

* **`config/mod.rs`**: Contains shared types and enums used across multiple TOML subsections.

* **`config/config.rs`**: Houses the logic that integrates all the TOML subsections into the complete configuration struct.

r? `@kobzol`
2025-06-06 04:32:56 +00:00
Scott McMurray
2192d869d0 Update InterpCx::project_field to take FieldIdx
As suggested by Ralf in 142005.
2025-06-05 19:15:56 -07:00
Scott McMurray
8bce2255e8 Update InterpCx::project_field to take FieldIdx
As suggested by Ralf in 142005.
2025-06-05 19:15:56 -07:00
Chayim Refael Friedman
903a0db6f3 Stabilize unlinked file diagnostic 2025-06-06 03:55:57 +03:00
Chayim Refael Friedman
0713466a2e Always include quickfixes for diagnostics, even when diagnostics are disabled 2025-06-06 03:52:32 +03:00
WANG Rui
620a4f318c Add new Tier-3 targets: loongarch32-unknown-none*
MCP: https://github.com/rust-lang/compiler-team/issues/865
2025-06-06 08:19:38 +08:00
WANG Rui
38d69c3f57 Add new Tier-3 targets: loongarch32-unknown-none*
MCP: https://github.com/rust-lang/compiler-team/issues/865
2025-06-06 08:19:38 +08:00
Josh Triplett
8a56ed4c89 SlotIndex::from_index: Factor out a constant for the first bucket size 2025-06-05 16:57:59 -07:00
Matthias Krüger
e12572f583
Rollup merge of #142092 - fmease:rustdoc-alias-terms, r=GuillaumeGomez
rustdoc: Support middle::ty associated const equality predicates again

Fix intentional regression from PR rust-lang/rust#125076.

Fixes rust-lang/rust#125092.
Fixes rust-lang/rust#134775.

CC rust-lang/rust#141368 (`EqPredicates` and rustdoc).
2025-06-06 00:58:49 +02:00
Matthias Krüger
9c895558ec
Rollup merge of #142091 - thaliaarchi:aix-getenv, r=workingjubilee
Fix AIX build

Fix rust-lang/rust#141543.

`getenv` was moved out of this file to `sys::env::getenv` in rust-lang/rust#140143. Replace its usage with `std::env::var_os`, the publicly exposed version. This matches the other usages of the same function in this file.
2025-06-06 00:58:48 +02:00
Matthias Krüger
defec9f090
Rollup merge of #142084 - jdonszelmann:add-review-rotation, r=BoxyUwU
add myself to rotation

r? ``@BoxyUwU``
2025-06-06 00:58:48 +02:00
Matthias Krüger
ed7d1f9610
Rollup merge of #142072 - maflcko:patch-1, r=aDotInTheVoid
doc: Fix inverted meaning in E0783.md

`...` (three dots) was the old way of saying `..=`, which both denote the *inclusive* range, not the *exclusive* one.
2025-06-06 00:58:47 +02:00
Matthias Krüger
2f7de4fca4
Rollup merge of #142067 - RalfJung:abi-map-to-str, r=workingjubilee
canon_abi: make to_erased_extern_abi just a detail in formatting

I think ideally we'd avoid ever printing `CanonAbi` to users, but that needs further changes. Personally I think it's fine for Miri to use the debug printing of `CanonAbi` until we figure that out, but I think others disagree. ;)

r? ``@workingjubilee``
2025-06-06 00:58:47 +02:00
Matthias Krüger
7420ae82a7
Rollup merge of #142058 - xizheyin:rustc-attr-parsing, r=jdonszelmann
Clean `rustc_attr_parsing/src/lib.rs` documentation

Improves the documentation clarity in `rustc_attr_parsing` by restructuring content with clearer section headers, simplifying explanations of attribute types, making technical descriptions more precise.

r? ``@oli-obk``
2025-06-06 00:58:46 +02:00
Matthias Krüger
324681b76e
Rollup merge of #142047 - cuviper:s390x-stack, r=oli-obk
Ensure stack in two places that affect s390x

In our Fedora s390x test results, we found two tests that started hitting stack
overflows in the 1.87.0 update. It seems to be related in some part to our use
of PGO as well, probably inlining more into stack frames that were already
recursive. The main points of recursion that I identified were:

- `ui/parser/survive-peano-lesson-queue.rs` in `ThirBuildCx::mirror_exprs`
- `ui/associated-consts/issue-93775.rs` in `Parser::parse_ty`

A couple new `ensure_sufficient_stack` calls will solve these tests.
2025-06-06 00:58:45 +02:00
Matthias Krüger
29954af23a
Rollup merge of #142044 - workingjubilee:document-operandvalue-pair, r=scottmcm
compiler: Document the offset invariant of `OperandValue::Pair`

A subtle invariant of `OperandValue::Pair` that came up during review and was found to be undocumented.

Visible in code like this:
4b27a04cc8/compiler/rustc_codegen_ssa/src/mir/operand.rs (L376-L392)
2025-06-06 00:58:45 +02:00
Matthias Krüger
2c951058d4 Rollup merge of #142012 - oli-obk:no-optional-spans, r=fee1-dead
Replace some `Option<Span>` with `Span` and use DUMMY_SP instead of None

Turns out many locations actually have a span available that we could use, so I used it
2025-06-06 00:58:44 +02:00
Matthias Krüger
c1d1f7a16f
Rollup merge of #142012 - oli-obk:no-optional-spans, r=fee1-dead
Replace some `Option<Span>` with `Span` and use DUMMY_SP instead of None

Turns out many locations actually have a span available that we could use, so I used it
2025-06-06 00:58:44 +02:00
Matthias Krüger
5e140dbe81
Rollup merge of #141982 - Kivooeo:tf5, r=jieyouxu
`tests/ui`: A New Order [5/N]

> [!NOTE]
>
> Intermediate commits are intended to help review, but will be squashed prior to merge.

r? ``@jieyouxu``
2025-06-06 00:58:43 +02:00
Matthias Krüger
c141cbf263
Rollup merge of #125087 - tbu-:pr_file_stream_len, r=ChrisDenton
Optimize `Seek::stream_len` impl for `File`

It uses the file metadata on Unix with a fallback for files incorrectly reported as zero-sized. It uses `GetFileSizeEx` on Windows.

This reduces the number of syscalls needed for determining the file size of an open file from 3 to 1.
2025-06-06 00:58:42 +02:00
bors
cf423712b9 Auto merge of #140872 - bjorn3:elf_use_used_linker, r=nikic
Make #[used(linker)] the default on ELF too

`#[used]` currently is an alias for `#[used(linker)]` on all platforms except ELF based ones where it is an alias for `#[used(compiler)]`. The latter has surprising behavior and the LLVM LangRef explicitly states that it "should only be used in rare circumstances, and should not be exposed to source languages." [^2]

The reason `#[used]` still was an alias to `#[used(compiler)]` on ELF is because the gold linker has issues with it. Luckily gold has been deprecated with GCC 15 [^1] and seems to be unable to bootstrap rustc anyway [^3]. As such we shouldn't really care about supporting gold.

This would also allow re-enabling start-stop-gc with lld.

cc https://github.com/rust-lang/rust/issues/93798
Likely fixes https://github.com/rust-lang/rust/issues/85045

[^1]: https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html
[^2]: https://llvm.org/docs/LangRef.html#the-llvm-compiler-used-global-variable
[^3]: https://github.com/rust-lang/rust/issues/139425
2025-06-05 22:52:17 +00:00
Samuel Tardieu
2037075b38
Sugg: do not parenthesize a double unary operator
For example, adding `*` in front of `*expression` is best shown as
`**expression` rather than `*(*expression)`.

This is not perfect, as it checks whether the operator is already a prefix
of the expression, but it is better than it was before. For example,
`&`+`&mut x` will get `&&mut x` but `&mut `+`&x` will get `&mut (&x)`
as it did before this change.
2025-06-05 23:27:35 +02:00
Michael Goulet
1e5cd122f0 Only instantiate impl args 2025-06-05 21:18:58 +00:00
Michael Goulet
dcf22aa7cb Clear nested candidates in select if certainty is yes 2025-06-05 21:18:58 +00:00
Antoni Boucher
2e89179368 Make comment more specific 2025-06-05 17:08:01 -04:00
Jubilee Young
e57b4b19e8 encode compiler team acceptance of -Cforce-frame-pointers change 2025-06-05 13:28:46 -07:00
Jubilee Young
a6b62d893f codegen: modernize frame-pointer-cli-control.rs
Update this time-traveler on the changes in compiletest and target specs
that they missed over the pass ~3 years by being caught in a time rift.
The aarch64-apple rev splits into itself and aarch64-apple-on, because
rustc obtained support for non-leaf frame-pointers ever since 9b67cba
implemented them and used them in aarch64-apple-darwin's spec.

Note that the aarch64-apple-off revision fails, despite modernization.
This is because 9b67cba also changed the behavior of rustc to defer to
the spec over the command-line interface.
2025-06-05 13:28:42 -07:00