| Age | Commit message (Collapse) | Author | Lines |
|
rustc-dev-guide subtree update
r? `@ghost`
|
|
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`
|
|
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.
|
|
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``
|
|
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`
|
|
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`
|
|
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`
|
|
|
|
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`
|
|
|
|
|
|
|
|
It would not be correct if multiple values of `target_dir` were ever passed to the function in the same process.
|
|
|
|
It wasn't really needed there.
|
|
|
|
|
|
fix: Support spans with proc macro servers from before the ast id changes
|
|
The only thing changed is the value of the fixup ast id, so we just swap it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|
|
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`.
|
|
fix: Fix comparison of proc macros
|
|
Comparing the TypeId is not enough, they also contain data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fix: Do not force descend into derives for goto IDE features
|
|
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
|
|
|
|
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
```
|
|
Provide better incrementality when items are changed
|
|
We can do that and it's pretty heavy.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
fix: Fix completion with some attribute macros
|
|
|
|
|
|
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`
|