about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2025-09-08feat: support navigation on primitivesRyan Mehri-17/+27
2025-09-08Remove support for register_attrWilfred Hughes-62/+14
This was removed in rustc in 2022: https://github.com/rust-lang/rust/pull/101123 Closes #20525.
2025-09-08tidy extra checks: use Error::FailedCheck correctlybinarycat-3/+3
2025-09-08tidy extra checks that interact with --bless now all recommend using itbinarycat-6/+25
2025-09-08tidy: py:lint extra check now works with --blessbinarycat-2/+9
2025-09-08all tidy extra checks now print what they do in present tensebinarycat-2/+8
2025-09-08move math foreign_items into their own fileRalf Jung-232/+266
2025-09-08extract core operation name instead of listing all function name variantsRalf Jung-17/+26
2025-09-08move math intrinsics to their own fileRalf Jung-287/+315
2025-09-08clippyRalf Jung-1/+1
2025-09-08Merge ref 'a09fbe2c8372' from rust-lang/rustRalf Jung-727/+555
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: a09fbe2c8372643a27a8082236120f95ed4e6bba Filtered ref: e8da14f32630072c76aeb944454175f4d8266918 This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-08Prepare for merging from rust-lang/rustRalf Jung-1/+1
This updates the rust-version file to a09fbe2c8372643a27a8082236120f95ed4e6bba.
2025-09-08Auto merge of #146173 - Kmeakin:km/unicode-data/no-ascii, r=jhprattbors-0/+5
Don't include ASCII characters in Unicode tables Split off from https://github.com/rust-lang/rust/pull/145219
2025-09-08Merge pull request #4566 from Patrick-6/miri-genmc-rmwRalf Jung-207/+1478
Add more features for GenMC mode (RMW, fences, new printing options)
2025-09-08Merge pull request #20620 from A4-Tacks/let-else-completionLaurențiu Nicola-17/+220
fix: add `else` keyword completion after `let` statements
2025-09-08print proper error when using unsupported synchronization primitive with GenMCRalf Jung-76/+52
2025-09-08Merge pull request #20626 from A4-Tacks/make-record-wsLaurențiu Nicola-36/+39
Improve make::struct_ field_list whitespace
2025-09-07Implement more features for GenMC modePatrick-6-136/+1431
- Support for atomic fences. - Support for atomic read-modify-write (RMW). - Add tests using RMW and fences. - Add options: - to disable weak memory effects in GenMC mode. - to print GenMC execution graphs. - to print GenMC output message. - Fix GenMC full rebuild issue and run configure step when commit changes. - Do cleanup. Co-authored-by: Ralf Jung <post@ralfj.de>
2025-09-07Improve make::struct_ field_list whitespaceA4-Tacks-36/+39
Example --- **Before this PR**: ```rust struct Variant{ field: u32 } ``` **After this PR**: ```rust struct Variant { field: u32 } ```
2025-09-07optimization: Don't include ASCII characters in Unicode tablesKarl Meakin-0/+5
The ASCII subset of Unicode is fixed and will never change, so we don't need to generate tables for it with every new Unicode version. This saves a few bytes of static data and speeds up `char::is_control` and `char::is_grapheme_extended` on ASCII inputs. Since the table lookup functions exported from the `unicode` module will give nonsensical errors on ASCII input (and in fact will panic in debug mode), I had to add some private wrapper methods to `char` which check for ASCII-ness first.
2025-09-07Auto merge of #146216 - ↵bors-278/+489
LorrensP-2158466:miri-float-nondet-foreign-items-take2, r=RalfJung Miri: non-deterministic floating point operations in foreign_items Take 2 of rust-lang/rust#143906. The last 2 commits are what changed compared to the original pr. Verified the tests using (fish shell): ```fish env MIRIFLAGS="-Zmiri-max-extra-rounding-error -Zmiri-many-seeds" ./x miri --no-fail-fast std core coretests -- f32 f64 ``` r? `@RalfJung`
2025-09-06Rollup merge of #146200 - GuillaumeGomez:simplify-rustdoc-gui-tests, ↵Matthias Krüger-418/+13
r=lolbinarycat Simplify rustdoc-gui tester by calling directly browser-ui-test The output and handling of `browser-ui-test` is now mostly the same as we did manually, so no need to keep our wrapper anymore. Lot of code removed! \o/ r? `@lolbinarycat`
2025-09-06Change stdlib float tests to account for miri nondet floats.LorrensP-2158466-4/+3
2025-09-06Implement nondet behaviour and change/add tests.LorrensP-2158466-169/+375
2025-09-06Auto merge of #146233 - jieyouxu:run-make-fission, r=Kobzolbors-14/+24
Split `run-make` into two {`run-make`,`run-make-cargo`} test suites ## Summary Split `tests/run-make` into two test suites, to make it faster and more convenient for contributors to run run-make tests that do not need in-tree `cargo`. | New test suites | Explanation | | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `tests/run-make` | The "fast path" test suite intended for run-make tests that do not need in-tree `cargo`. These tests may not use `cargo`. | | `tests/run-make-cargo` | The "slow path" test suite that requires checking out `cargo` submodule and building in-tree `cargo`, and thus will have access to in-tree `cargo`. In practice, these constitute a very small portion of the original `run-make` tests. | This PR carries out [MCP 847: Split run-make test suite into slower-building test suite with suitably-staged cargo and faster-building test suite without cargo](https://github.com/rust-lang/compiler-team/issues/847). Fixes rust-lang/rust#135573 (for the tests that do not need in-tree `cargo`). Fixes rust-lang/rust#134109. ## Remarks - I considered if we want to split by in-tree tools previously. However, as discussed rust-lang/rust#134109, in practice `rustdoc` is not very slow to build, but `cargo` takes a good few minutes. So, the partition boundary was determined to be along in-tree `cargo` availability. - The `run-make` tests previously that wanted to use `cargo` cannot just use the bootstrap `cargo`, otherwise they would run into situations where bootstrap `cargo` can significantly diverge from in-tree `cargo` (see https://github.com/rust-lang/rust/pull/130642). --- try-job: aarch64-msvc-1 try-job: test-various try-job: x86_64-gnu-debug try-job: aarch64-gnu-debug try-job: aarch64-apple try-job: dist-various-1
2025-09-06Simplify rustdoc-gui tester by calling directly `browser-ui-test`Guillaume Gomez-418/+13
2025-09-06bump-stage0: pick highest common `toml` version, add a workaroundJieyou Xu-2/+6
- We pick the higest common `toml` version used in the r-l/r workspace to avoid introducing Yet Another `toml` `0.x` version, which happens to be `0.8.23` as of the time of writing. - We introduce a byte-buffer-to-string workaround for the `toml 0.8.*` series that do not have the `toml 0.9.*` series's `toml::from_slice` API yet. Not efficient, but this is not perf-critical so it's fine.
2025-09-06Add allow `else` keyword completion in LetStmtA4-Tacks-17/+220
Example --- ```rust fn foo() { let _ = 2 el$0 } ``` -> ```rust fn foo() { let _ = 2 else { $0 }; } ```
2025-09-05Rollup merge of #146234 - hkBst:file-generated-header, r=tgross35León Orell Valerian Liehr-1/+1
change file-is-generated doc comment to inner Alternatively this could perhaps be better as a normal comment...
2025-09-05Rollup merge of #146041 - lolbinarycat:tidy-escheck-bless, r=KobzolLeón Orell Valerian Liehr-10/+22
tidy: --bless now makes escheck run with --fix this mirrors how other extra-check tools work. unsure if this also needs to be done for tsc and es-check.
2025-09-05Auto merge of #146121 - Muscraft:filter-suggestion-parts, r=petrochenkovbors-8/+4
fix: Filter suggestion parts that match existing code While testing my changes to make `rustc` use `annotate-snippets`, I encountered a new `clippy` test failure stemming from [two](https://github.com/rust-lang/rust/pull/145273/files#diff-6e8403e31463539666afbc00479cb416dc767a518f562b6e2960630953ee7da2R275-R278) [suggestion](https://github.com/rust-lang/rust/pull/145273/files#diff-6e8403e31463539666afbc00479cb416dc767a518f562b6e2960630953ee7da2R289-R292) output changes in rust-lang/rust#145273. The new output in these two cases feels like a regression as it is not as clear as the old output, and adds unnecessary information. Before rust-lang/rust#145273 (`Diff` style) ![before](https://github.com/user-attachments/assets/36f33635-cbce-45f1-823d-0cbe6f0cfe46) After rust-lang/rust#145273 ("multi-line" style) ![after](https://github.com/user-attachments/assets/d4cb00b8-5a42-436e-9329-db84347138f0) The reason for the change was that a new suggestion part (which matches existing code) was added on a different line than the existing parts, causing the suggestion style to change from `Diff` to "multi-line". Since this new part matches existing code, no code changes show up in the output for it, but it still makes the suggestion style "multi-line" when it doesn't need to be. To get the old output back, I made it so that suggestion parts that perfectly match existing code get filtered out. try-job: aarch64-apple
2025-09-05tidy: account for moved `tests/run-make/uefi-qemu`Jieyou Xu-1/+1
2025-09-05`run-make-support`: handle unavailable in-tree cargo under `run-make` test suiteJieyou Xu-6/+13
2025-09-05compiletest: implement {`run-make`,`run-make-cargo`} test suite splitJieyou Xu-7/+10
- `run-make` test suite will now no longer receive a `cargo`. - NOTE: the user could technically still write `Command::new("cargo")` which might find *a* cargo from the environment, but that is not a supported case. - `run-make-cargo` will receive a built in-tree `cargo`.
2025-09-05atomic rmw intrinsics: RHS must be an integerRalf Jung-1/+2
2025-09-05Merge pull request #4569 from RalfJung/atomic-rmwRalf Jung-127/+83
atomics: unify handling min/max and the other RMWs
2025-09-05atomics: unify handling min/max and the other RMWsRalf Jung-127/+83
2025-09-05change file-is-generated doc comment to innerMarijn Schouten-1/+1
2025-09-05Fix indent for unresolved_field fixesA4-Tacks-13/+52
Examples --- ```rust mod indent { struct Foo {} fn foo() { let foo = Foo{}; foo.bar$0; } } ``` **Before this PR**: ```rust mod indent { struct Foo { bar: () } fn foo() { let foo = Foo{}; foo.bar; } } ``` **After this PR**: ```rust mod indent { struct Foo { bar: () } fn foo() { let foo = Foo{}; foo.bar; } } ``` --- New field list add newline ```rust mod indent { struct Foo; fn foo() { Foo.bar$0; } } ``` **Before this PR**: ```rust mod indent { struct Foo{ bar: () } fn foo() { Foo.bar; } } ``` **After this PR**: ```rust mod indent { struct Foo { bar: (), } fn foo() { Foo.bar; } } ```
2025-09-05Merge pull request #4568 from RalfJung/duration-from-nanosRalf Jung-8/+2
make use of Duration::from_nanos_u128
2025-09-05make use of Duration::from_nanos_u128Ralf Jung-8/+2
2025-09-05Merge ref 'b3cfb8faf84c' from rust-lang/rustThe Miri Cronjob Bot-1730/+4878
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: b3cfb8faf84c5f3b7909479a9f9b6a3290d5f4d7 Filtered ref: 8995aa7743caf019203bc853f27af6006705ae30 Upstream diff: https://github.com/rust-lang/rust/compare/9385c64c95d971329e62917adc4349c8ccdbafe0...b3cfb8faf84c5f3b7909479a9f9b6a3290d5f4d7 This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-05Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to b3cfb8faf84c5f3b7909479a9f9b6a3290d5f4d7.
2025-09-05Merge pull request #20609 from ChayimFriedman2/update-rustcShoyu Vanilla (Flint)-579/+446
internal: Upgrade rustc crates
2025-09-04fix: Filter suggestion parts that match existing codeScott Schafer-8/+4
2025-09-05Fix precedence parenthesis for replace_arith_opA4-Tacks-1/+22
Example --- ```rust fn main() { let x = 1*x $0+ 2; } ``` **Before this PR**: ```rust fn main() { let x = 1*x.wrapping_add(2); } ``` **After this PR**: ```rust fn main() { let x = (1*x).wrapping_add(2); } ```
2025-09-04Merge commit 'e9b70454e4c9584be3b22ddabd26b741aeb06c10' into ↵Philipp Krones-1641/+4536
clippy-subtree-update
2025-09-04Upgrade rustc cratesChayim Refael Friedman-579/+446
The main changes are (there are some other small changes): - Using a specific type for trait IDs in the new solver, allowing us to simplify a lot of code. - Add `BoundConst` similar to `BoundTy` and `BoundRegion` (previously consts used `BoundVar` directly), due to a new trait requirement.
2025-09-04Move float non determinism helpers to math.rsLorrensP-2158466-134/+140
2025-09-04Rollup merge of #146151 - FrancescoV1985:issue-146047-fix, r=KobzolMatthias Krüger-11/+9
fixes auto-run js checks in tidy Modified is_non_auto_or_matches function in src/tools/tidy/src/extra_checks/mod.rs so that .ts extension is considered. Tested locally with `./x.py test tidy --extra-checks=auto:js`