about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-07-01Migrate `promote_local_to_const` Assist to `SyntaxEditor`Hayashi Mikihiro-9/+13
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01Merge pull request #2483 from rust-lang/tshepang-patch-1许杰友 Jieyou Xu (Joe)-3/+3
2025-07-01remove `if-let` chainsHayashi Mikihiro-6/+7
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01ci: support optional jobsMarcoIeni-6/+43
2025-07-01Migrate `replace_is_method_with_if_let_method` Assist to use `SyntaxFactory`Hayashi Mikihiro-17/+17
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01Add AsMut Borrow BorrowMut to minicore and famous_defsA4-Tacks-0/+34
2025-07-01bootstrap: make comment more clearTshepang Mbambo-2/+2
Reading that at first made me think the code block ensures that the said artefacts are created
2025-07-01Do not enable LLD by default in the dist profileJakub Beránek-5/+8
2025-07-01Merge pull request #4433 from RalfJung/ci-balanceRalf Jung-4/+4
re-balance CI jobs
2025-07-01Merge pull request #4432 from RalfJung/no-metadataRalf Jung-5/+0
./miri toolchain: no need to run 'cargo metadata'
2025-07-01re-balance CI jobsRalf Jung-4/+4
2025-07-01Auto merge of #143267 - matthiaskrgr:rollup-suvzar6, r=matthiaskrgrbors-7/+6
Rollup of 8 pull requests Successful merges: - rust-lang/rust#143125 (Disable f16 on Aarch64 without neon for llvm < 20.1.1) - rust-lang/rust#143156 (inherit `#[align]` from trait method prototypes) - rust-lang/rust#143178 (rustdoc default faviocon) - rust-lang/rust#143234 (Replace `ItemCtxt::report_placeholder_type_error` match with a call to `TyCtxt::def_descr`) - rust-lang/rust#143245 (mbe: Add tests and restructure metavariable expressions) - rust-lang/rust#143257 (Upgrade dependencies in run-make-support) - rust-lang/rust#143263 (linkify CodeSuggestion in doc comments) - rust-lang/rust#143264 (fix: Emit suggestion filename if primary diagnostic span is dummy) Failed merges: - rust-lang/rust#143251 (bootstrap: add build.tidy-extra-checks option) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-01./miri toolchain: no need to run 'cargo metadata'Ralf Jung-5/+0
2025-07-01fmtThe Miri Cronjob Bot-2/+0
2025-07-01Make some compiletest errors/warnings/help more visually obviousJieyou Xu-38/+84
2025-07-01Merge from rustcThe Miri Cronjob Bot-1010/+2559
2025-07-01Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-07-01Rollup merge of #143257 - tgross35:run-make-deps, r=jieyouxuMatthias Krüger-5/+5
Upgrade dependencies in run-make-support The main purpose of this is to upgrade `object` and `gimli`, which will allow us to drop outdated versions once backtrace also updates. The only semver breakage in `object`'s is in `elf::R_RISCV_GNU_*` and `pe::IMAGE_WEAK_EXTERN_*` constants, as well as Mach-O dyld, which don't appear to be used here. `gimli` is similar, there is only minor breakage related to dyld. These version upgrades were also done in the library. `bstr`, `similar`, and `regex` are also upgraded to the latest minor version here to match what the lockfile already uses. The `regex` comment about `memchr` version hasn't been relevant to this lockfile since e95d15a11519 ("Pin memchr to 2.5.0 in the library rather than rustc_ast") and is no longer relevant in the library lockfile either. Object Changelog: https://github.com/gimli-rs/object/blob/master/CHANGELOG.md#0370 Gimli changelog: https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md#0320
2025-07-01Rollup merge of #143245 - tgross35:metavariable-expr-organization, ↵Matthias Krüger-1/+0
r=petrochenkov mbe: Add tests and restructure metavariable expressions Add tests that show better diagnostics, and factor `concat` handling to a separate function. Each commit message has further details. This performs the nonfunctional perparation for further changes such as https://github.com/rust-lang/rust/pull/142950 and https://github.com/rust-lang/rust/pull/142975 .
2025-07-01Rollup merge of #143178 - eeshvardasikcm:master, r=notriddleMatthias Krüger-1/+1
rustdoc default faviocon rust-lang/rust#143154 default favicon now appears to be the new behavior, instead of no favicon.
2025-07-01Auto merge of #141875 - nnethercote:ByteSymbol, r=petrochenkovbors-24/+28
Introduce `ByteSymbol` It's like `Symbol` but for byte strings. The interner is now used for both `Symbol` and `ByteSymbol`. E.g. if you intern `"dog"` and `b"dog"` you'll get a `Symbol` and a `ByteSymbol` with the same index and the characters will only be stored once. The motivation for this is to eliminate the `Arc`s in `ast::LitKind`, to make `ast::LitKind` impl `Copy`, and to avoid the need to arena-allocate `ast::LitKind` in HIR. The latter change reduces peak memory by a non-trivial amount on literal-heavy benchmarks such as `deep-vector` and `tuple-stress`. `Encoder`, `Decoder`, `SpanEncoder`, and `SpanDecoder` all get some changes so that they can handle normal strings and byte strings.
2025-06-30Upgrade dependencies in run-make-supportTrevor Gross-5/+5
The main purpose of this is to upgrade `object` and `gimli`, which will allow us to drop outdated versions once backtrace also updates. The only semver breakage in `object`'s is in `elf::R_RISCV_GNU_*` and `pe::IMAGE_WEAK_EXTERN_*` constants, as well as Mach-O dyld, which don't appear to be used here. `gimli` is similar, there is only minor breakage related to dyld. These version upgrades were also done in the library. `bstr`, `similar`, and `regex` are also upgraded to the latest minor version here to match what the lockfile already uses. The `regex` comment about `memchr` version hasn't been relevant to this lockfile since e95d15a11519 ("Pin memchr to 2.5.0 in the library rather than rustc_ast") and is no longer relevant in the library lockfile either. Object Changelog: https://github.com/gimli-rs/object/blob/master/CHANGELOG.md#0370 Gimli changelog: https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md#0320
2025-06-30fix: install correct cc for wasm32-unknown-emscriptenJayden Qi-1/+22
Also fixed a typo in the sanity check for bootstrap, as we are checking for clang-likeness in every wasm target.
2025-06-30fix: wasm-bare targets compiling x86 builtinsJayden Qi-3/+19
Added sanity check to bootstrap to hard error on wasm builds without clang, and changed distribution image `dist-various-2` to use clang to build for official targets.
2025-06-30Rollup merge of #143248 - rustbot:docs-update, r=ehussMatthias Krüger-0/+0
Update books ## rust-lang/book 2 commits in 8a6d44e45b7b564eeb6bae30507e1fbac439d72d..ef1ce8f87a8b18feb1b6a9cf9a4939a79bde6795 2025-06-28 18:06:08 UTC to 2025-06-26 23:08:19 UTC - Chapter 14 from tech review (rust-lang/book#4423) - Chapter 13 from tech review (rust-lang/book#4421) ## rust-embedded/book 1 commits in 10fa1e084365f23f24ad0000df541923385b73b6..41f688a598a5022b749e23d37f3c524f6a0b28e1 2025-06-27 07:21:31 UTC to 2025-06-27 07:21:31 UTC - Fix incorrect type for semihosted stdout stream rust-lang/rust#394 (rust-embedded/book#395) ## rust-lang/reference 4 commits in 50fc1628f36563958399123829c73755fa7a8421..e9fc99f107840813916f62e16b3f6d9556e1f2d8 2025-06-28 20:00:14 UTC to 2025-06-24 19:02:48 UTC - fix: swap places for 2 words in associated-items.md sentence. (rust-lang/reference#1871) - Add new temporary lifetime extension rule (rust-lang/reference#1813) - Fix smart punctuation inside grammar terminals (rust-lang/reference#1869) - Fix placement of codegen link definitions (rust-lang/reference#1868) ## rust-lang/rust-by-example 1 commits in 05c7d8bae65f23a1837430c5a19be129d414f5ec..288b4e4948add43f387cad35adc7b1c54ca6fe12 2025-06-25 12:35:59 UTC to 2025-06-25 12:35:59 UTC - allow easy fixes (rust-lang/rust-by-example#1941)
2025-06-30Rollup merge of #143246 - lnicola:sync-from-ra, r=lnicolaMatthias Krüger-848/+2252
Subtree update of `rust-analyzer` r? ``@ghost``
2025-06-30Rollup merge of #143229 - jieyouxu:compiletest-maintenance-1, r=KobzolMatthias Krüger-42/+50
[COMPILETEST-UNTANGLE 1/N] Move some some early config checks to the lib and move the compiletest binary This is part of a patch series to untangle `compiletest` to hopefully nudge it towards being more maintainable. This PR: - Moves some early config checks (some warnings) to the compiletest library. - Moves `src/main.rs` to `src/bin/main.rs` to make the separation (as in, compiletest's library component vs the tool binary component) more obvious. r? ``@Kobzol`` (or reroll)
2025-06-30Rollup merge of #143180 - jieyouxu:forest, r=KobzolMatthias Krüger-28/+49
Use `tracing-forest` instead of `tracing-tree` for bootstrap tracing I find the `tracing-forest` output easier to comprehend. Note that this is not a strict improvement -- `tracing-forest` output contains some emojis and redundant log levels, but customizing it seems to be... non-trivial. Despite this, I still find `tracing-forest` easier to follow than `tracing-tree`, even when I tried to tune `tracing-tree` output. ### Preview ```bash BOOTSTRAP_TRACING=debug ./x test library/std --dry-run ``` With `tracing-forest` (this PR), it looks like ![Screenshot 2025-06-29 174802](https://github.com/user-attachments/assets/1ab9150f-48f8-4fb3-b004-27bcf8bbc0f5) With `tracing-tree` (before this PR), it looked like ![Screenshot 2025-06-29 175227](https://github.com/user-attachments/assets/659e254d-15ab-47dd-af11-98e2331d4d7a) r? `@Kobzol`
2025-06-30Rollup merge of #143175 - Kobzol:bootstrap-lld-external-llvm-config, r=JieyouxuMatthias Krüger-4/+9
Make combining LLD with external LLVM config a hard error Younger me made this only a warning in https://github.com/rust-lang/rust/pull/139853, because our post-dist tests were relying on this. But that was not a good idea, because there are a bunch of places in bootstrap that outright try to build LLD/copy LLD to sysroot when `lld_enabled` is true (rightfully so), which is causing issues (https://github.com/rust-lang/rust/issues/143076). Instead of piling more hacks, I'd like to just disallow this, and if we need to use a hack, do it only for our CI. If this breaks the CI post-dist tests, I'll either add some special environment variable for it, or, as an alternative, make the error back into a warning, but also disable `lld_enabled` when this situation happens. try-job: dist-x86_64-linux Fixes: https://github.com/rust-lang/rust/pull/143175
2025-06-30Rollup merge of #143140 - RalfJung:ptr-into-parts, r=oli-obkMatthias Krüger-9/+7
give Pointer::into_parts a more scary name and offer a safer alternative `into_parts` is a bit too innocent of a name for a somewhat subtle operation. r? `@oli-obk`
2025-06-30Update booksrustbot-0/+0
2025-06-30Merge from rust-lang/rustLaurențiu Nicola-2581/+7289
2025-06-30Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-06-30Auto merge of #143233 - dianqk:rollup-lcx3278, r=dianqkbors-49/+116
Rollup of 14 pull requests Successful merges: - rust-lang/rust#142429 (`tests/ui`: A New Order [13/N]) - rust-lang/rust#142514 (Miri: handling of SNaN inputs in `f*::pow` operations) - rust-lang/rust#143066 (Use let chains in the new solver) - rust-lang/rust#143090 (Workaround for memory unsafety in third party DLLs) - rust-lang/rust#143118 (`tests/ui`: A New Order [15/N]) - rust-lang/rust#143159 (Do not freshen `ReError`) - rust-lang/rust#143168 (`tests/ui`: A New Order [16/N]) - rust-lang/rust#143176 (fix typos and improve clarity in documentation) - rust-lang/rust#143187 (Add my work email to mailmap) - rust-lang/rust#143190 (Use the `new` method for `BasicBlockData` and `Statement`) - rust-lang/rust#143195 (`tests/ui`: A New Order [17/N]) - rust-lang/rust#143196 (Port #[link_section] to the new attribute parsing infrastructure) - rust-lang/rust#143199 (Re-disable `tests/run-make/short-ice` on Windows MSVC again) - rust-lang/rust#143219 (Show auto trait and blanket impls for `!`) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-30Add change tracker entryJakub Beránek-0/+5
2025-06-30Remove let_chains featureCameron Steffen-0/+4
2025-06-30Rollup merge of #143196 - Periodic1911:link_section, r=oli-obkdianqk-1/+4
Port #[link_section] to the new attribute parsing infrastructure Ports link_section to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197 r? `@oli-obk` cc `@JonathanBrouwer` `@jdonszelmann`
2025-06-30Rollup merge of #143176 - kilavvy:master, r=jieyouxudianqk-3/+3
fix typos and improve clarity in documentation ``` Description: This pull request corrects minor typos and improves wording for clarity across several documentation files, including: - Correcting instrinsics → intrinsics - Correcting preferrably → preferably - Correcting Orginally → Originally - Correcting resiliant → resilient ```
2025-06-30Rollup merge of #142514 - LorrensP-2158466:miri-float-nondet-pow, r=RalfJungdianqk-44/+109
Miri: handling of SNaN inputs in `f*::pow` operations fixes [miri/#4286](https://github.com/rust-lang/miri/issues/4286) and related to rust-lang/rust#138062 and [miri/#4208](https://github.com/rust-lang/miri/issues/4208#issue-2879058184). For the following cases of the powf or powi operations, Miri returns either `1.0` or an arbitrary `NaN`: - `powf(SNaN, 0.0)` - `powf(1.0, SNaN)` - `powi(SNaN, 0)` Also added a macro in `miri/tests/pass/float.rs` which conveniently checks if both are indeed returned from such an operation. Made these changes in the rust repo so I could test against stdlib, since these were impacted some time ago and were fixed in rust-lang/rust#138062. Tested with: ```fish env MIRIFLAGS=-Zmiri-many-seeds ./x miri --no-fail-fast std core coretests -- f32 f64 ``` This was successful. This does take a while, so I recommend using `--no-doc` and separate use of `f32` or `f64` The pr is somewhat split up into 3 main commits, which implement the cases described above. The first commit also introduces the macro, and the last commit is just a global refactor of some things. r? `@RalfJung`
2025-06-30Rollup merge of #142429 - Kivooeo:tf13, r=jieyouxudianqk-1/+0
`tests/ui`: A New Order [13/N] Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? ```@jieyouxu```
2025-06-30Introduce `ByteSymbol`.Nicholas Nethercote-24/+28
It's like `Symbol` but for byte strings. The interner is now used for both `Symbol` and `ByteSymbol`. E.g. if you intern `"dog"` and `b"dog"` you'll get a `Symbol` and a `ByteSymbol` with the same index and the characters will only be stored once. The motivation for this is to eliminate the `Arc`s in `ast::LitKind`, to make `ast::LitKind` impl `Copy`, and to avoid the need to arena-allocate `ast::LitKind` in HIR. The latter change reduces peak memory by a non-trivial amount on literal-heavy benchmarks such as `deep-vector` and `tuple-stress`. `Encoder`, `Decoder`, `SpanEncoder`, and `SpanDecoder` all get some changes so that they can handle normal strings and byte strings. This change does slow down compilation of programs that use `include_bytes!` on large files, because the contents of those files are now interned (hashed). This makes `include_bytes!` more similar to `include_str!`, though `include_bytes!` contents still aren't escaped, and hashing is still much cheaper than escaping.
2025-06-30test: add test case for func with multiline param listYoung-Flash-2/+19
2025-06-30internal: add `FoldKind::Function`Young-Flash-13/+18
2025-06-30feat: support folding multiline arg list & fn body in one folding rangeYoung-Flash-1/+28
2025-06-30Try increasing the repetition limitOli Scherer-1/+1
2025-06-30Move `RUST_TEST_NOCAPTURE` warning to early config checkJieyou Xu-6/+7
2025-06-30Move compiletest `main.rs` to `src/bin/`Jieyou Xu-0/+4
To make it obvious `compiletest`-the-tool has two components: 1. The core compiletest library, and 2. The tool binary, which will be executed by bootstrap.
2025-06-30Move some early config checks to the compiletest libJieyou Xu-14/+17
2025-06-30linux futex: fix for val > i32::MAXRalf Jung-3/+9
2025-06-29update AST-to-HIR lowering examples for conditionals and loopsdianne-4/+2
- `for` loops now use two `match`es for all of their bindings. I'm not sure this is the most helpful way of conveying that, but it's about as informative as before while staying brief. - `while let` and `if let` don't use `match`; they use `let` expressions in their conditions. Since `if let` no longer has significantly different desugaring and having a whole bullet point for `while` would feel redundant with `for`, I've removed those examples.