about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-04-19allow using `null` to unset an environment variablejyn-91/+114
this makes three changes: - all callsites of `toolchain::command` are changed to use `command(path, extra_env)`, instead of manually adding the env after the fact. - all `map<str, str>` are changed to `map<str, option<str>>`. - `command` checks for None and calls `env_remove` if so. this caught several places where environment variables weren't being propagated: - when running `rustc --print=target-libdir` - when running `cargo rustc -- --print=target-spec-json` - when running the custom DiscoverLinkedProjects config. I *think* this is for use with non-cargo build systems, so I didn't change it.
2025-04-19improve readability by adding pausesTshepang Mbambo-4/+4
2025-04-19fix grammarTshepang Mbambo-1/+1
2025-04-19needed a stronger pauseTshepang Mbambo-1/+2
2025-04-19Rollup merge of #139995 - spencer3035:clean-ui-tests-4-of-n, r=jieyouxuChris Denton-6/+1
Clean UI tests 4 of n Cleaned up some tests that have `issue` in the title. I kept the commits to be one per "`issue`" cleanup/rename to make it easier to check. I can rebase to one commit once the changes are approved. Related Issues: #73494 #133895 r? jieyouxu
2025-04-19Rollup merge of #139978 - Kobzol:ci-test-summary, r=jieyouxuChris Denton-21/+511
Add citool command for generating a test dashboard This PR implements an initial version of a test suite dashboard, which shows which tests were executed on CI and which tests were ignored. This was discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202025-04-11.20Dealing.20with.20disabled.20tests/with/512799036). The dashboard is still quite bare-bones, but I think that it could already be useful. The next step is to create a job index, similarly to the post-merge report, and link from the individual tests to the job that executed them. You can try it locally like this: ```bash $ cargo run --manifest-path src/ci/citool/Cargo.toml --release \ -- test-dashboard 38c560ae681d5c0d3fd615eaedc537a282fb1086 --output-dir dashboard ``` and then open `dashboard/index.html` in a web browser. CC ````@wesleywiser```` r? ````@jieyouxu````
2025-04-19Rollup merge of #139753 - folkertdev:naked-function-unsafe-attribute, ↵Chris Denton-20/+17
r=tgross35,traviscross Make `#[naked]` an unsafe attribute tracking issue: https://github.com/rust-lang/rust/issues/138997 Per https://github.com/rust-lang/rust/pull/134213#issuecomment-2755984503, the `#[naked]` attribute is now an unsafe attribute (in any edition). This can only be merged when the above PRs are merged, I'd just like to see if there are any CI surprises here, and maybe there is early review feedback too. r? ``@traviscross``
2025-04-19Rollup merge of #139091 - mejrs:format, r=compiler-errorsChris Denton-1/+0
Rewrite on_unimplemented format string parser. This PR rewrites the format string parser for `rustc_on_unimplemented` and `diagnostic::on_unimplemented`. I plan on moving this code (and more) into the new attribute parsing system soon and wanted to PR it separately. This PR introduces some minor differences though: - `rustc_on_unimplemented` on trait *implementations* is no longer checked/used - this is actually never used (outside of some tests) so I plan on removing it in the future. - for `rustc_on_unimplemented`, it introduces the `{This}` argument in favor of `{ThisTraitname}` (to be removed later). It'll be easier to parse. - for `rustc_on_unimplemented`, `Self` can now consistently be used as a filter, rather than just `_Self`. It used to not match correctly on for example `Self = "[{integer}]"` - Some error messages now have better spans. Fixes https://github.com/rust-lang/rust/issues/130627
2025-04-19Rollup merge of #138934 - onur-ozkan:extended-config-profiles, r=KobzolChris Denton-20/+366
support config extensions _Copied from the `rustc-dev-guide` addition:_ >When working on different tasks, you might need to switch between different bootstrap >configurations. >Sometimes you may want to keep an old configuration for future use. But saving raw config >values in >random files and manually copying and pasting them can quickly become messy, especially if >you have a >long history of different configurations. > >To simplify managing multiple configurations, you can create config extensions. > >For example, you can create a simple config file named `cross.toml`: > >```toml >[build] >build = "x86_64-unknown-linux-gnu" >host = ["i686-unknown-linux-gnu"] >target = ["i686-unknown-linux-gnu"] > > >[llvm] >download-ci-llvm = false > >[target.x86_64-unknown-linux-gnu] >llvm-config = "/path/to/llvm-19/bin/llvm-config" >``` > >Then, include this in your `bootstrap.toml`: > >```toml >include = ["cross.toml"] >``` > >You can also include extensions within extensions recursively. > >**Note:** In the `include` field, the overriding logic follows a right-to-left order. For example, in `include = ["a.toml", "b.toml"]`, extension `b.toml` overrides `a.toml`. Also, parent extensions always overrides the inner ones. try-job: x86_64-mingw-2
2025-04-19Merge pull request #2346 from folkertdev/bootstrap-in-dependencies许杰友 Jieyou Xu (Joe)-0/+54
2025-04-19document `#[cfg(bootstrap)]` in dependenciesFolkert de Vries-0/+54
2025-04-19don't ignore config values that fail to parsejyn-14/+17
previously, these would just silently be ignored. now they give a warning such as: ``` invalid config values: /completion/snippets/custom: invalid type: null, expected a map; /cargo/extraEnv: invalid type: null, expected a string; ```
2025-04-19fix broken linkTshepang Mbambo-1/+1
2025-04-19Rollup merge of #139919 - GuillaumeGomez:rustdoc-json-1-indexed, r=aDotInTheVoidChris Denton-5/+5
Make rustdoc JSON Span column 1-based, just like line numbers Fixes https://github.com/rust-lang/rust/issues/139906. This PR does two things: 1. It makes column 1-indexed as well, just like lines. 2. It updates documentation about them to mention that they are 1-indexed. I think it's better for coherency to have them both 1-indexed instead of the weird mix we used to have. Docs for `line` and `col` fields can be found [here](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Loc.html#structfield.line). And finally: it adds a regression test to ensure they are indeed 1-indexed. r? `@aDotInTheVoid`
2025-04-19Rollup merge of #139297 - RossSmyth:NixClean, r=WaffleLapkinChris Denton-50/+111
Deduplicate & clean up Nix shell 1. Deduplicate the flake and shell files 2. Remove flake-utils 3. Remove `with` statements They are considered bad practice nowadays because the slow down the evalulator and have weird shadowing rules. 4. Use `env` :3 5. use `callPackage` It's the recommended way for derivations like these. 6. Use `packages` in the shell There is no reason to use `buildInputs` for a mkShell (except in funny cases that will not be seen here), so the `packages` attr is recommended now days. r? WaffleLapkin
2025-04-19Merge from rustcThe rustc-dev-guide Cronjob Bot-3428/+6298
2025-04-19Preparing for merge from rustcThe rustc-dev-guide Cronjob Bot-1/+1
2025-04-19toolchain version does not need to be specifiedTshepang Mbambo-3/+3
- Rust backcompat removes the need to specify the version here - Using these commands can result in a needless toolchain getting downloaded, like in the case where user only has Nightly installed
2025-04-19Fix replace_string_with_char escaped char quoteA4-Tacks-5/+145
2025-04-19readme: be copy-paste friendlyTshepang Mbambo-7/+7
2025-04-19simd_select_bitmask: the 'padding' bits in the mask are just ignoredRalf Jung-42/+14
2025-04-19Auto merge of #139114 - m-ou-se:super-let-pin, r=davidtwcobors-2/+2
Implement `pin!()` using `super let` Tracking issue for super let: https://github.com/rust-lang/rust/issues/139076 This uses `super let` to implement `pin!()`. This means we can remove [the hack](https://github.com/rust-lang/rust/pull/138717) we had to put in to fix https://github.com/rust-lang/rust/issues/138596. It also means we can remove the original hack to make `pin!()` work, which used a questionable public-but-unstable field rather than a proper private field. While `super let` is still unstable and subject to change, it seems safe to assume that future Rust will always have a way to express `pin!()` in a compatible way, considering `pin!()` is already stable. It'd help [the experiment](https://github.com/rust-lang/rust/issues/139076) to have `pin!()` use `super let`, so we can get some more experience with it.
2025-04-19Cleaned up 4 tests in `tests/ui/issues`Spencer-6/+1
2025-04-19Merge from rustcThe Miri Cronjob Bot-239/+444
2025-04-19Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-04-18Replace interning of string literals with preinterned symbolsAlex Macleod-4/+5
2025-04-19Make `#[naked]` an unsafe attributeFolkert de Vries-20/+17
2025-04-18Merge pull request #19613 from ChayimFriedman2/substLukas Wirth-8/+46
fix: Fix a panic when a trait method in an impl declares a lifetime parameter not in the trait declaration
2025-04-18Update rustdoc-json-types `FORMAT_VERSION` to 45Guillaume Gomez-1/+1
2025-04-18Make rustdoc JSON Span column 1-based, just like line numbersGuillaume Gomez-4/+4
2025-04-18add regression test for dist compilationonur-ozkan-0/+32
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-18Support ide-assists raw_string suffixA4-Tacks-8/+148
2025-04-18Auto merge of #139996 - matthiaskrgr:rollup-0nka2hw, r=matthiaskrgrbors-239/+444
Rollup of 7 pull requests Successful merges: - #138528 (deref patterns: implement implicit deref patterns) - #139393 (rustdoc-json: Output target feature information) - #139553 (sync::mpsc: prevent double free on `Drop`) - #139615 (Remove `name_or_empty`) - #139853 (Disable combining LLD with external llvm-config) - #139913 (rustdoc/clean: Fix lowering of fn params (fixes correctness & HIR vs. middle parity regressions)) - #139942 (Ignore aix for tests/ui/erros/pic-linker.rs) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-18rtprintpanic: clarify that the error is aborting the processLieselotte-2/+2
2025-04-18add coverage on config include logiconur-ozkan-2/+209
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-18Move internal lints to their own crate (#13223)Timo-1/+2
This makes it so switching the internal feature on/off no longer rebuilds `clippy_lints`. r? @flip1995 changelog: none
2025-04-18Improve `clean_maybe_renamed_item` function code a bitGuillaume Gomez-14/+33
2025-04-18fix(docs): add newlines between prefix/suffix chaptersHaowei Hsu-0/+5
add newlines between prefix/suffix chapters in SUMMARY.md to ensure correct extraction by mdbook-i18n-helpers.
2025-04-18Reduce duplicated test prefixes in nested subdirectoriesJakub Beránek-25/+17
`assembly/asm` contained a test named `asm/aarch64-el2vmsa.rs`, while it should have been only `arch64-el2vmsa.rs`.
2025-04-18Add a note that explains the countsJakub Beránek-0/+4
2025-04-18Merge pull request #19618 from lnicola/pgo-revisionLaurențiu Nicola-12/+20
internal: Support specific revisions for PGO
2025-04-18Support specific revisions for pgoLaurențiu Nicola-12/+20
2025-04-18Sort notable traits in hoverChayim Refael Friedman-0/+1
Previously it was ordered by what accidentally happened to be the crate graph order, which isn't sensible, plus it caused changes when any change was done to salsa IDs.
2025-04-18Merge pull request #19616 from ChayimFriedman2/transparent-diagsLukas Wirth-0/+6
internal: Make hir-ty non-diagnostic queries transparent
2025-04-18ensure compiler existance of tools on the dist steponur-ozkan-5/+18
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-18Merge from rustcThe Miri Cronjob Bot-66/+135
2025-04-18skip llvm-config in autodiff check builds, when its unavailableManuel Drehwald-2/+1
2025-04-18Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-04-18Make hir-ty non-diagnostic queries transparentChayim Refael Friedman-0/+6
That is, all queries that have a `with_diagnostic` variant. Them being tracked was (maybe) needed before #19462, because back then diagnostics could refer `AstId`s (for macro types), but now they are no longer needed.
2025-04-18Fix a panic when a trait method in an impl declares a lifetime parameter not ↵Chayim Refael Friedman-8/+46
in the trait declaration Shuffle the code a bit.