about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-06-13Split mod items into small and big variantsLukas Wirth-66/+81
2025-06-13Store item tree visibilities in a thin vecLukas Wirth-2/+14
2025-06-13Fix link to good first issuesJakub Beránek-1/+1
2025-06-13Pre-install eslint in `mingw-check-tidy` DockerfileJakub Beránek-2/+4
2025-06-13Rollup merge of #142248 - heiher:loong32-asm-types, r=AmanieuMatthias Krüger-0/+5
Add supported asm types for LoongArch32 r? ``````@Amanieu``````
2025-06-13Rollup merge of #135927 - azhogin:azhogin/retpoline, r=davidtwcoMatthias Krüger-2/+3
retpoline and retpoline-external-thunk flags (target modifiers) to enable retpoline-related target features `-Zretpoline` and `-Zretpoline-external-thunk` flags are target modifiers (tracked to be equal in linked crates). * Enables target features for `-Zretpoline-external-thunk`: `+retpoline-external-thunk`, `+retpoline-indirect-branches`, `+retpoline-indirect-calls`. * Enables target features for `-Zretpoline`: `+retpoline-indirect-branches`, `+retpoline-indirect-calls`. It corresponds to clang -mretpoline & -mretpoline-external-thunk flags. Also this PR forbids to specify those target features manually (warning). Issue: rust-lang/rust#116852
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.