about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-06-13Rollup merge of #142413 - tshepang:rdg-push, r=jieyouxuMatthias Krüger-3/+4
rustc-dev-guide subtree update r? `@ghost`
2025-06-13Rollup merge of #142410 - RalfJung:align_of, r=WaffleLapkin,workingjubileeMatthias Krüger-1/+0
intrinsics: rename min_align_of to align_of Now that `pref_align_of` is gone (https://github.com/rust-lang/rust/pull/141803), we can give the intrinsic backing `align_of` its proper name. r? `@workingjubilee` or `@bjorn3`
2025-06-13Rollup merge of #142379 - Stypox:bootstrap-tool-config, r=KobzolMatthias Krüger-2/+36
Add bootstrap option to compile a tool with features Add an option to specify which features to build a tool with, e.g. it will be useful to build Miri with tracing enabled: ```toml tool-config.miri.features = ["tracing"] ``` See [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Passing.20--features.20to.20Miri.20build.20using.20.2E.2Fx.2Epy/with/523564773) for the options considered. If the final decision will be different than what I wrote now, I will update the code as needed. The reason why the option is `tool-config.miri.features` instead of something like `tool-features.miri` is to possibly allow adding more tool-specific configurations in the future. I didn't do any validation of the keys of the `tool-config` hashmap, since I saw that no validation is done on the `tools` hashset either. I don't like much the fact that features can be chosen by various places of the codebase: `Step`s can have some fixed `extra_features`, `prepare_tool_cargo` will add features depending on some bootstrapping options, and the newly added option can also contribute features to tools. However I think it is out of scope of this PR to try to refactor all of that (if it even is refactorable), so I left a comment in the codebase explaining all of the sources of features I could find.
2025-06-13Rollup merge of #142340 - RalfJung:miri-apfloat-mul-add, r=oli-obkMatthias Krüger-10/+6
miri: we can use apfloat's mul_add now With https://github.com/rust-lang/rustc_apfloat/issues/11 fixed, there is no reason to still use host floats here. Fixes https://github.com/rust-lang/miri/issues/2995 We already have a test for this: https://github.com/rust-lang/rust/blob/a7153db254acc387e271e75153bdbd3caa2bed89/src/tools/miri/tests/pass/float.rs#L998-L1003 r? ``@oli-obk``
2025-06-13Rollup merge of #142158 - xizheyin:141617, r=jdonszelmannMatthias Krüger-1/+1
Tracking the old name of renamed unstable library features This PR resolves the first problem of rust-lang/rust#141617 : tracking renamed unstable features. The first commit is to add a ui test, and the second one tracks the changes. I will comment on the code for clarification. r? `@jdonszelmann` There have been a lot of PR's reviewed by you lately, thanks for your time! cc `@jyn514`
2025-06-13Rollup merge of #142069 - nnethercote:Zmacro-stats, r=petrochenkovMatthias Krüger-0/+24
Introduce `-Zmacro-stats` Introduce `-Zmacro-stats`. It collects data about macro expansions and prints them in a table after expansion finishes. It's very useful for detecting macro bloat, especially for proc macros. r? `@petrochenkov`
2025-06-13Rollup merge of #141770 - GuillaumeGomez:cfg-false-mod-rendering, r=camelidMatthias Krüger-13/+16
Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code Follow-up of https://github.com/rust-lang/rust/pull/141747. Thanks `@camelid` for spotting it! r? `@camelid`
2025-06-13Unimplement unsized_localsmejrs-225/+7
2025-06-12Rollup merge of #142337 - RalfJung:miri-float-nondet, r=oli-obkMatthias Krüger-4/+31
miri: add flag to suppress float non-determinism We have flags controlling most non-determinism, so this seems generally useful for debugging. It is also needed to work around https://github.com/rust-lang/portable-simd/issues/463 in miri-test-libstd. I made this a rustc PR so that it propagates faster to unbreak miri-test-libstd. r? `@oli-obk`
2025-06-12Add lightweight snapshot testing for bootstrap testsJakub Beránek-10/+107
2025-06-12Simplify `configure_with_args`Jakub Beránek-10/+8
2025-06-12intrinsics: rename min_align_of to align_ofRalf Jung-1/+0
2025-06-12Move submodule path cache from `parse_gitmodules` to `Builder`Jakub Beránek-27/+30
It would not be correct if multiple values of `target_dir` were ever passed to the function in the same process.
2025-06-12Remove environment variable modification in `test_default_compiler_wasi`Jakub Beránek-8/+10
2025-06-12Remove `RefCell` from `cc/cxx/ar/ranlib`Jakub Beránek-49/+44
It wasn't really needed there.
2025-06-12Stop using Config for `tempdir-as-a-service` in `build_stamp` testsJakub Beránek-14/+10
2025-06-12Move `shared_helpers` test to a dedicated moduleJakub Beránek-8/+3
2025-06-12Merge pull request #19985 from ChayimFriedman2/proc-macro-srv-ast-idLukas Wirth-102/+96
fix: Support spans with proc macro servers from before the ast id changes
2025-06-12Support spans with proc macro servers from before the ast id changesChayim Refael Friedman-102/+96
The only thing changed is the value of the fixup ast id, so we just swap it.
2025-06-12Add support for snapshot tests with instaJakub Beránek-0/+43
2025-06-12Fix testsLukas Wirth-10/+10
2025-06-12Rename tool-config to tool and add docsStypox-15/+17
2025-06-12Return item tree query results by refLukas Wirth-99/+82
2025-06-12Remove dead codeLukas Wirth-51/+35
2025-06-12Shrink `ModItem` by usizeLukas Wirth-24/+34
2025-06-12Tracking the old name of renamed unstable library attributexizheyin-1/+1
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-06-12Introduce `-Zmacro-stats`.Nicholas Nethercote-0/+24
It collects data about macro expansions and prints them in a table after expansion finishes. It's very useful for detecting macro bloat, especially for proc macros. Details: - It measures code snippets by pretty-printing them and then measuring lines and bytes. This required a bunch of additional pretty-printing plumbing, in `rustc_ast_pretty` and `rustc_expand`. - The measurement is done in `MacroExpander::expand_invoc`. - The measurements are stored in `ExtCtxt::macro_stats`.
2025-06-12Merge pull request #19983 from ChayimFriedman2/proc-macro-eqChayim Refael Friedman-6/+52
fix: Fix comparison of proc macros
2025-06-12Fix comparison of proc macrosChayim Refael Friedman-6/+52
Comparing the TypeId is not enough, they also contain data.
2025-06-12Remove `AttrOwner`Lukas Wirth-68/+59
2025-06-12avoid `&mut P<T>` in `visit_expr` etc methodsDeadbeef-3/+3
2025-06-12Ditch the unnecessary smallvecLukas Wirth-12/+15
2025-06-12Coalesce item tree data mapsLukas Wirth-181/+138
2025-06-12`AttrOwner` needs no `ModItem`Lukas Wirth-47/+36
2025-06-12Remove `FileItemTreeId`Lukas Wirth-181/+116
2025-06-12Remove `ItemTreeId`Lukas Wirth-86/+52
2025-06-12Merge pull request #19981 from Veykril/push-tzzunsrqqunvLukas Wirth-5/+6
fix: Do not force descend into derives for goto IDE features
2025-06-12fix: Do not force descend into derives for goto IDE featuresLukas Wirth-5/+6
Doing so can cause us to duplicate navigation targets for the same ranges which breaks convenience features of some editors where go to def can trigger find all references
2025-06-12`ItemTree`'s `ItemVisibilities` has no identity, so deduplicateLukas Wirth-38/+39
2025-06-12Auto merge of #141205 - rust-lang:cargo_update, r=Mark-Simulacrumbors-84/+97
Weekly `cargo update` Automation to keep dependencies in `Cargo.lock` current. The following is the output from `cargo update`: ```txt compiler & tools dependencies: Locking 57 packages to latest compatible versions Updating anstream v0.6.18 -> v0.6.19 Updating anstyle v1.0.10 -> v1.0.11 Updating anstyle-lossy v1.1.3 -> v1.1.4 Updating anstyle-parse v0.2.6 -> v0.2.7 Updating anstyle-query v1.1.2 -> v1.1.3 Updating anstyle-svg v0.1.7 -> v0.1.8 Updating anstyle-wincon v3.0.7 -> v3.0.9 Updating bitflags v2.9.0 -> v2.9.1 Updating bumpalo v3.17.0 -> v3.18.1 Updating bytecount v0.6.8 -> v0.6.9 Updating camino v1.1.9 -> v1.1.10 Updating clap v4.5.38 -> v4.5.39 Updating clap_builder v4.5.38 -> v4.5.39 Updating color-eyre v0.6.4 -> v0.6.5 Updating color-spantrace v0.2.2 -> v0.3.0 Updating colorchoice v1.0.3 -> v1.0.4 Updating curl v0.4.47 -> v0.4.48 Updating curl-sys v0.4.80+curl-8.12.1 -> v0.4.82+curl-8.14.1 Updating errno v0.3.11 -> v0.3.12 Updating flate2 v1.1.1 -> v1.1.2 Updating hashbrown v0.15.3 -> v0.15.4 Updating hermit-abi v0.3.9 -> v0.5.1 Updating icu_properties v2.0.0 -> v2.0.1 Updating icu_properties_data v2.0.0 -> v2.0.1 Updating jiff v0.2.13 -> v0.2.14 Updating jiff-static v0.2.13 -> v0.2.14 Updating jsonpath-rust v1.0.1 -> v1.0.2 Updating libloading v0.8.7 -> v0.8.8 Updating lock_api v0.4.12 -> v0.4.13 Updating num_cpus v1.16.0 -> v1.17.0 Adding once_cell_polyfill v1.70.1 Updating openssl-sys v0.9.108 -> v0.9.109 Updating owo-colors v4.2.0 -> v4.2.1 Updating parking_lot v0.12.3 -> v0.12.4 Updating parking_lot_core v0.9.10 -> v0.9.11 Updating portable-atomic v1.11.0 -> v1.11.1 Updating rustc-build-sysroot v0.5.7 -> v0.5.8 Updating rustversion v1.0.20 -> v1.0.21 Updating serde_spanned v0.6.8 -> v0.6.9 Updating smallvec v1.15.0 -> v1.15.1 Updating socket2 v0.5.9 -> v0.5.10 Updating sysinfo v0.35.0 -> v0.35.2 Updating tokio v1.45.0 -> v1.45.1 Updating toml_datetime v0.6.9 -> v0.6.11 Updating tracing-attributes v0.1.28 -> v0.1.29 Updating type-map v0.5.0 -> v0.5.1 Updating uuid v1.16.0 -> v1.17.0 Updating wasm-encoder v0.230.0 -> v0.233.0 Updating wasmparser v0.230.0 -> v0.233.0 Updating wast v230.0.0 -> v233.0.0 Updating wat v1.230.0 -> v1.233.0 Updating windows-bindgen v0.61.0 -> v0.61.1 Updating windows-core v0.61.0 -> v0.61.2 Updating windows-future v0.2.0 -> v0.2.1 Updating windows-result v0.3.2 -> v0.3.4 Updating windows-strings v0.4.0 -> v0.4.2 Adding windows-threading v0.1.0 note: pass `--verbose` to see 38 unchanged dependencies behind latest library dependencies: Locking 1 package to latest compatible version Updating hashbrown v0.15.3 -> v0.15.4 note: pass `--verbose` to see 5 unchanged dependencies behind latest rustbook dependencies: Locking 39 packages to latest compatible versions Updating anstream v0.6.18 -> v0.6.19 Updating anstyle v1.0.10 -> v1.0.11 Updating anstyle-parse v0.2.6 -> v0.2.7 Updating anstyle-query v1.1.2 -> v1.1.3 Updating anstyle-wincon v3.0.7 -> v3.0.9 Updating bitflags v2.9.0 -> v2.9.1 Updating bumpalo v3.17.0 -> v3.18.1 Updating cc v1.2.22 -> v1.2.26 Updating clap v4.5.38 -> v4.5.39 Updating clap_builder v4.5.38 -> v4.5.39 Updating clap_complete v4.5.50 -> v4.5.52 Updating colorchoice v1.0.3 -> v1.0.4 Updating errno v0.3.11 -> v0.3.12 Updating flate2 v1.1.1 -> v1.1.2 Updating hashbrown v0.15.3 -> v0.15.4 Updating icu_properties v2.0.0 -> v2.0.1 Updating icu_properties_data v2.0.0 -> v2.0.1 Updating jiff v0.2.13 -> v0.2.14 Updating jiff-static v0.2.13 -> v0.2.14 Updating lock_api v0.4.12 -> v0.4.13 Adding once_cell_polyfill v1.70.1 Updating opener v0.8.1 -> v0.8.2 Updating parking_lot v0.12.3 -> v0.12.4 Updating parking_lot_core v0.9.10 -> v0.9.11 Updating portable-atomic v1.11.0 -> v1.11.1 Updating railroad v0.3.2 -> v0.3.3 Updating rustversion v1.0.20 -> v1.0.21 Updating serde_spanned v0.6.8 -> v0.6.9 Updating smallvec v1.15.0 -> v1.15.1 Updating tempfile v3.19.1 -> v3.20.0 Updating toml v0.8.22 -> v0.8.23 Updating toml_datetime v0.6.9 -> v0.6.11 Updating toml_edit v0.22.26 -> v0.22.27 Updating toml_write v0.1.1 -> v0.1.2 Adding unicode-width v0.2.0 Updating web_atoms v0.1.2 -> v0.1.3 Updating windows-core v0.61.0 -> v0.61.2 Updating windows-result v0.3.2 -> v0.3.4 Updating windows-strings v0.4.0 -> v0.4.2 ```
2025-06-12Merge pull request #19837 from ChayimFriedman2/stable-astidLukas Wirth-1945/+2256
Provide better incrementality when items are changed
2025-06-12LRU ast id mapChayim Refael Friedman-0/+1
We can do that and it's pretty heavy.
2025-06-12Ignore ast id hashes in typos checkChayim Refael Friedman-0/+1
2025-06-12Remove most of the item treeChayim Refael Friedman-443/+52
I'm joking, but now that the def map is the only thing that uses the item tree, we can remove a lot of things from it that aren't needed for the def map.
2025-06-12Avoid referring to the item tree except in the def mapChayim Refael Friedman-955/+981
Item tree IDs are very unstable (adding an item of a kind invalidates all following items of the same kind). Instead use ast ids, which, since the previous commit, are pretty stable.
2025-06-12Use stable AST IDsChayim Refael Friedman-556/+1230
Instead of simple numbering, we hash important bits, like the name of the item. This will allow for much better incrementality, e.g. when you add an item. Currently, this invalidates the IDs of all following items, which invalidates pretty much everything.
2025-06-12Merge pull request #19942 from ChayimFriedman2/fauxLukas Wirth-28/+26
fix: Fix completion with some attribute macros
2025-06-12Merge from rustcThe rustc-dev-guide Cronjob Bot-1788/+3774
2025-06-12Preparing for merge from rustcThe rustc-dev-guide Cronjob Bot-1/+1
2025-06-12Rollup merge of #142303 - Kobzol:bootstrap-cleanup-1, r=jieyouxuMatthias Krüger-353/+381
Assorted bootstrap cleanups (step 1) Now that the stage0 redesign has landed, we can finally start cleaning up many things in bootstrap, and lord knows it deserves it! I plan to send many PRs once I figure out an incremental way forward, this is the first one of them. It doesn't actually change anything, just renames stuff and adds more documentation, but the rename is bitrotty, so I wanted to push the PR eagerly. r? `@jieyouxu`