about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
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.
2025-06-30build-fail directive: make explanation more uniformTshepang Mbambo-3/+3
The last part of the paragraph did not fit
2025-06-29Remove last use of `rustc_pat_analysis::Captures`zachs18-5/+5
It's not necessary anymore due to Rust 2024 lifetime capture rules.
2025-06-29Merge pull request #4397 from tgross35/gettid-shimsRalf Jung-12/+312
Add shims for `gettid`-esque functions
2025-06-29Add shims for `gettid`-esque functionsTrevor Gross-12/+312
Various platforms provide a function to return the current OS thread ID, but they all use a slightly different name. Add shims for these functions for Apple, FreeBSD, and Windows, with tests to account for those and a few more platforms that are not yet supported by Miri. The syscall and extern symbol is included as well on Linux. These should be useful in general but will also help support printing the OS thread ID in panic messages [1]. [1]: https://github.com/rust-lang/rust/pull/115746 Squashed commit from Ralf: try_from_scalar: extend comment
2025-06-29add a riscv64 test jobRalf Jung-0/+5
2025-06-29remove duplicate clippy checkRalf Jung-4/+2