about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-01-04Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubileeJubilee-2/+2
std: sync to dep versions of backtrace Minor versions from backtrace desynced with std (they still differs in patch numbers, but still better): https://github.com/rust-lang/backtrace-rs/blob/4d7906bb24ae91ee6587127020d360f5298f9e7e/Cargo.toml#L44-L48 There is hidden bug here, let's see if CI can find it. cc `@workingjubilee`
2025-01-04Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errorsJubilee-9/+8
turn rustc_box into an intrinsic I am not entirely sure why this was made a special magic attribute, but an intrinsic seems like a more natural way to add magic expressions to the language.
2025-01-04Hide synthetic locals from completionsLukas Wirth-0/+85
2025-01-04bootstrap: make `is_path_in_submodule` return optional submodule path instead许杰友 Jieyou Xu (Joe)-15/+23
2025-01-04Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obkbors-30/+54
rustc_intrinsic: support functions without body We synthesize a HIR body `loop {}` but such bodyless intrinsics. Most of the diff is due to turning `ItemKind::Fn` into a brace (named-field) enum variant, because it carries a `bool`-typed field now. This is to remember whether the function has a body. MIR building panics to avoid ever translating the fake `loop {}` body, and the intrinsic logic uses the lack of a body to implicitly mark that intrinsic as must-be-overridden. I first tried actually having no body rather than generating the fake body, but there's a *lot* of code that assumes that all function items have HIR and MIR, so this didn't work very well. Then I noticed that even `rustc_intrinsic_must_be_overridden` intrinsics have MIR generated (they are filled with an `Unreachable` terminator) so I guess I am not the first to discover this. ;) r? `@oli-obk`
2025-01-04Merge pull request #4121 from RalfJung/josh-proxyRalf Jung-2/+2
bump josh-proxy
2025-01-04bump josh-proxyRalf Jung-2/+2
2025-01-04rustc_intrinsic: support functions without body; they are implicitly marked ↵Ralf Jung-1/+1
as must-be-overridden
2025-01-04turn hir::ItemKind::Fn into a named-field variantRalf Jung-30/+54
2025-01-04Rollup merge of #135066 - jieyouxu:check-run-make-support, r=clubby789Matthias Krüger-0/+6
bootstrap: support `./x check run-make-support` Mostly for working on `src/tools/run-make-support` locally.
2025-01-04Rollup merge of #135001 - Kobzol:bootstrap-mcp-510, r=onur-ozkanMatthias Krüger-2/+14
Allow using self-contained LLD in bootstrap In https://github.com/rust-lang/rust/pull/116278, I added a `"self-contained"` mode to the `rust.use-lld` bootstrap option, which was designed for using the built-in LLD for linking compiler artifacts. However, this was later reverted in https://github.com/rust-lang/rust/pull/118810. This PR brings the old logic back, which switches LLD in bootstrap from `-fuse-ld=lld` to [MCP510](https://github.com/rust-lang/compiler-team/issues/510)'s way of passing linker flags to enable LLD (both external and self-contained). So this does two changes: 1) Goes from `-fuse-ld=lld` to MCP510 2) Actually makes it possible to use the self-contained LLD to compile compiler artifacts Regarding the second commit: Since https://github.com/rust-lang/rust/pull/86113, we have been passing `-fuse-ld=lld` as a target flag to all tests when `use-lld = true` is enabled. This kind of worked for all tests, since it was just a linker argument, which has bypassed any compiler checks, and probably resulted only in some warning if the given target linker didn't actually support LLD. However, after the first commit, some tests actually start failing with this approach: ``` error: linker flavor `gnu-lld-cc` is incompatible with the current target | = note: compatible flavors are: llbc, ptx ``` So the second commit removes the passing of LLD flags as target flags to tests. I don't think that it's a good idea to pass specific compiler flags to all tests unconditionally, tbh. The doctest command from #86113 doesn't go through compiletest anymore, and doctests should be quite a lot faster since https://github.com/rust-lang/rust/pull/126245 in general. CC `@the8472` If someone has a beefy machine, it would be nice to test whether this doesn't regress test execution speed. How to do that: 1) Enable `rust.use-lld = true` and `rust.lld = true` in `config.toml` 2) Benchmark `./x test tests/ui --force-rerun` between `master` and this PR Once this is tested in the wild, I would like to make the self-contained LLD the default in CI, hopefully to make CI builds faster. r? `@onur-ozkan`
2025-01-04bootstrap: If dir_is_empty fails, show the non-existent directory pathJosh Triplett-1/+1
This should help when trying to debug issues.
2025-01-04Auto merge of #135089 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 9 commits in d73d2caf9e41a39daf2a8d6ce60ec80bf354d2a7..fd784878cfa843e3e29a6654ecf564c62fae6735 2024-12-31 20:51:21 +0000 to 2025-01-03 20:06:26 +0000 - chore: bump gix-lock to remove thiserror@1 from `cargo` (rust-lang/cargo#15012) - refactor(manifest): Clean up field -> env var handling (rust-lang/cargo#15008) - chore(deps): update rust crate thiserror to v2 (rust-lang/cargo#14998) - test(git): Clean up shallow fetch tests (rust-lang/cargo#15002) - fix(schema): Correct and update the JSON Schema (rust-lang/cargo#15000) - chore(deps): update rust crate itertools to 0.14.0 (rust-lang/cargo#14996) - fix: env table config can't trigger rebuild with `rerun-if-env-changed`. (rust-lang/cargo#14756) - chore(deps): update alpine docker tag to v3.21 (rust-lang/cargo#14995) - fix(package): check dirtiness of symlinks source files (rust-lang/cargo#14981)
2025-01-03Update cargoWeihang Lo-0/+0
2025-01-03Rollup merge of #135058 - onur-ozkan:path-resolution, r=jieyouxuMatthias Krüger-27/+76
refactor bootstrap path resolution Previously we removed paths as soon as we found the first intersection, which made it impossible to find other intersecting paths (and that is the reason of https://github.com/rust-lang/rust/issues/135022). This patch changes that by marking the intersecting paths instead, so we can collect them all and remove them together when needed. Which means, `x build compiler` would compile anything that ends or starts with `"compiler"` instead of picking the first matching `Step` from `builder::get_step_descriptions`. Fixes https://github.com/rust-lang/rust/issues/135022
2025-01-03Rollup merge of #135043 - ↵Matthias Krüger-1/+29
notriddle:notriddle/allowed-through-unstable-modules-is-a-deprecation-flag, r=GuillaumeGomez rustdoc: treat `allowed_through_unstable_modules` as deprecation This ensures `std::intrinsics::transmute` is deemphasized in the search engine and other UI, by cleaning it into a deprecation without propagating it through reexports when the parent module is stable. Fixes #131676 Related to #135003 r? ``@GuillaumeGomez`` ``@RalfJung`` ``@workingjubilee``
2025-01-03Rollup merge of #135036 - jieyouxu:rmake-be-quiet, r=compiler-errorsMatthias Krüger-107/+235
run-make-support: adjust assertion printing, add some basic sanity checks cc ``@Noratrieb`` I think we may have unintentionally regressed this recently and double-printed (or printed even when the assertions didn't fail). This PR should condition the detail dumps only when the assertions fail. Added some basic sanity checks for the assertions helpers except for the directory comparisons. That particular helper is not robust against symlinks, and I intend to address it in a follow-up (issue is #135037). r? bootstrap (or compiler)
2025-01-03add m68k-unknown-none-elf targetkirk-0/+114
2025-01-03Merge pull request #18831 from lnicola/ci-rustc-testsLaurențiu Nicola-1/+1
Fix metrics workflow
2025-01-03Fix metrics workflowLaurențiu Nicola-1/+1
2025-01-03Merge pull request #18806 from LHolten/deduplicate-crate-graphLukas Wirth-35/+19299
fix: Deduplicate crate graph
2025-01-03Target: Add mips mti baremetal supportYunQiang Su-0/+36
Do the same thing as gcc, which use the vendor `mti` to mark the toolchain as MIPS32r2 default. We support both big endian and little endian flavor: mips-mti-none-elf mipsel-mti-none-elf
2025-01-03Auto merge of #135063 - pietroalbini:pa-bump-version, r=pietroalbinibors-1/+1
Bump version to 1.86.0 Part of the release process. r? `@ghost`
2025-01-03Merge pull request #18830 from alibektas/18814Lukas Wirth-2/+9
fix: 18814
2025-01-03fix: 18814Ali Bektas-2/+9
2025-01-03Merge pull request #18829 from Veykril/push-ouvwrxoovwkrLukas Wirth-7/+2
Disable rustc_test metrics again
2025-01-03tidyklensy-2/+2
2025-01-03Merge pull request #18828 from lnicola/edition-descriptionLaurențiu Nicola-0/+1
minor: Add description field to edition manifest
2025-01-03Disable rustc_test metrics againLukas Wirth-7/+2
2025-01-03Merge pull request #18827 from Veykril/push-zqsplmtwsxxkLukas Wirth-1/+4
minor: Honor `CARGO_TARGET_DIR` for cargo target dir config
2025-01-03Add description field to edition manifestLaurențiu Nicola-0/+1
2025-01-03minor: Honor `CARGO_TARGET_DIR` for cargo target dir configLukas Wirth-1/+4
2025-01-03Merge pull request #18826 from Veykril/push-qnsqormwlwqmLukas Wirth-36/+21
fix: Clear flycheck diagnostics per package properly
2025-01-03fix: Clear flycheck diagnostics per package properlyLukas Wirth-36/+21
2025-01-03run-make-support: tidy up assertion failure dumping许杰友 Jieyou Xu (Joe)-33/+58
Avoid double-dumping or dumping even when assertion is successful.
2025-01-03Merge pull request #18825 from Veykril/push-sllokkprznkqLukas Wirth-50/+81
minor: Encode TraitData bools as bitflags
2025-01-03run-make-support: add basic sanity tests for assertion helpers许杰友 Jieyou Xu (Joe)-0/+103
2025-01-03run-make-support: convert `assertion_helpers` to module许杰友 Jieyou Xu (Joe)-0/+0
2025-01-03bootstrap: support `./x check run-make-support`许杰友 Jieyou Xu (Joe)-0/+6
2025-01-03minor: Encode TraitData bools as bitflagsLukas Wirth-50/+81
2025-01-03Merge pull request #18822 from bryceberger/targetdir-absoluteLukas Wirth-2/+1
allow targetDir to be an absolute path
2025-01-03Merge pull request #18327 from ChayimFriedman2/flat-ttLukas Wirth-2252/+2322
Store token trees in contiguous `Vec` instead of as a tree
2025-01-03turn rustc_box into an intrinsicRalf Jung-9/+8
2025-01-03bump versionPietro Albini-1/+1
2025-01-03add coverage for multiple pathsonur-ozkan-0/+20
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-03Rollup merge of #131729 - Urgau:check-cfg-test-userspace, r=petrochenkovMatthias Krüger-4/+11
Make the `test` cfg a userspace check-cfg This PR implements MCP https://github.com/rust-lang/compiler-team/issues/785, which makes the `test` cfg a "userspace" check-cfg, i.e. no longer included in the well known cfg list. Things to do: - [x] Accept the MCP (https://github.com/rust-lang/compiler-team/issues/785#issuecomment-2424121886) - [x] Mark `test` in Cargo (https://github.com/rust-lang/cargo/pull/14963) `@rustbot` labels +S-waiting-on-MCP +F-check_cfg r? `@petrochenkov`
2025-01-03avoid early return to handle all pathsonur-ozkan-2/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-03Revert "bootstrap: temporarily flip `compile::Rustc` vs `compile::Assemble`"onur-ozkan-5/+1
This reverts commit 552c1f5f45ec8b8cb5c9427754a7c3d16ca9f741.
2025-01-03revert step order from #134919onur-ozkan-6/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-03adapt bootstrap tests to the new path resolution logiconur-ozkan-6/+21
Signed-off-by: onur-ozkan <work@onurozkan.dev>