about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2025-05-30Rollup merge of #141004 - matthewjasper:unicode-before-expansion, r=davidtwcoMatthias Krüger-0/+12
Report text_direction_codepoint_in_literal when parsing The lint is now reported in code that gets removed/modified/duplicated by macro expansion, and spans are more accurate so we don't get ICEs from trying to split a span in the middle of a character. This removes support for lint level attributes for `text_direction_codepoint_in_literal` except at the crate level, I don't think that there's an easy way around this when the lint can be reported on code that's removed by `cfg` or that is only in the input of a macro. Fixes #140281
2025-05-29Auto merge of #141739 - GuillaumeGomez:rollup-ivboqwd, r=GuillaumeGomezbors-0/+102
Rollup of 11 pull requests Successful merges: - rust-lang/rust#137574 (Make `std/src/num` mirror `core/src/num`) - rust-lang/rust#141384 (Enable review queue tracking) - rust-lang/rust#141448 (A variety of improvements to the codegen backends) - rust-lang/rust#141636 (avoid some usages of `&mut P<T>` in AST visitors) - rust-lang/rust#141676 (float: Disable `total_cmp` sNaN tests for `f16`) - rust-lang/rust#141705 (Add eslint as part of `tidy` run) - rust-lang/rust#141715 (Add `loongarch64` with `d` feature to `f32::midpoint` fast path) - rust-lang/rust#141723 (Provide secrets to try builds with new bors) - rust-lang/rust#141728 (Fix false documentation of FnCtxt::diverges) - rust-lang/rust#141729 (resolve target-libdir directly from rustc) - rust-lang/rust#141732 (creader: Remove extraenous String::clone) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-29jsondocck: command -> directiveAlona Enraght-Moony-39/+41
2025-05-29Auto merge of #141490 - compiler-errors:bump-pgo, r=Kobzolbors-1/+1
Bump rustc-perf and update PGO crates Updates rustc-perf to rust-lang/rustc-perf@8158f78f738715c060d230351623a7f7cc01bf97, and updates the crates. r? `@Kobzol`
2025-05-29some refactoring of the allocatorRalf Jung-67/+74
2025-05-29add separate allocator for MiriMachineNia Espera-22/+519
Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> allow multiple seeds use bitsets fix xcompile listened to reason and made my life so much easier fmt Update src/machine.rs Co-authored-by: Ralf Jung <post@ralfj.de> fixups avoid some clones Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> address review Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> fixup comment Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> address review pt 2 nit rem fn Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> Update src/alloc/isolated_alloc.rs Co-authored-by: Ralf Jung <post@ralfj.de> address review unneeded unsafe
2025-05-30Reorder fields in `hir::ItemKind` variants.Nicholas Nethercote-21/+21
Specifically `TyAlias`, `Enum`, `Struct`, `Union`. So the fields match the textual order in the source code. The interesting part of the change is in `compiler/rustc_hir/src/hir.rs`. The rest is extremely mechanical refactoring.
2025-05-29Rollup merge of #141705 - GuillaumeGomez:eslint-tidy, r=KobzolGuillaume Gomez-0/+102
Add eslint as part of `tidy` run Rustdoc uses `eslint` to run lints on the JS files. Currently you need to run it by hand since it's not part of any `x.py` command. This PR makes it part of `test tidy`. However, to prevent having all rust developers to install `npm` and `eslint`, I made it optional: if `eslint` is not installed, then the check is simply skipped (but will tell that it is being skipped). The second commit removes the manual checks from the docker file since `eslint` is run as part of tidy. cc `@lolbinarycat,` [#t-rustdoc > eslint seems to only be run in CI](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/eslint.20seems.20to.20only.20be.20run.20in.20CI/with/520761477)
2025-05-29Centralize the eslint version between tidy and dockerGuillaume Gomez-8/+16
2025-05-29fix: Fix import insertion not being fully cfg awareLukas Wirth-128/+214
2025-05-29Merge from rustcRalf Jung-1080/+1626
2025-05-29Preparing for merge from rustcRalf Jung-1/+1
2025-05-29Bump rustc-perf and update PGO cratesMichael Goulet-1/+1
2025-05-29Auto merge of #141717 - jhpratt:rollup-neu8nzl, r=jhprattbors-102/+94
Rollup of 4 pull requests Successful merges: - rust-lang/rust#138285 (Stabilize `repr128`) - rust-lang/rust#139994 (add `CStr::display`) - rust-lang/rust#141571 (coretests: extend and simplify float tests) - rust-lang/rust#141656 (CI: Add cargo tests to aarch64-apple-darwin) Failed merges: - rust-lang/rust#141430 (remove `visit_clobber` and move `DummyAstNode` to `rustc_expand`) - rust-lang/rust#141636 (avoid some usages of `&mut P<T>` in AST visitors) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-29Merge pull request #19888 from Veykril/push-wylsryzpnnopLukas Wirth-3/+6
fix: Recognize salsa cycles in `thread_result_to_response`
2025-05-29fix: Recognize salsa cycles in `thread_result_to_response`Lukas Wirth-3/+6
2025-05-29Rollup merge of #138285 - beetrees:repr128-stable, r=traviscross,bjorn3Jacob Pratt-102/+94
Stabilize `repr128` ## Stabilisation report The `repr128` feature ([tracking issue](https://github.com/rust-lang/rust/issues/56071)) allows the use of `#[repr(u128)]` and `#[repr(i128)]` on enums in the same way that other primitive representations such as `#[repr(u64)]` can be used. For example: ```rust #[repr(u128)] enum Foo { One = 1, Two, Big = u128::MAX, } #[repr(i128)] enum Bar { HasThing(u16) = 42, HasSomethingElse(i64) = u64::MAX as i128 + 1, HasNothing, } ``` This is the final part of adding 128-bit integers to Rust ([RFC 1504](https://rust-lang.github.io/rfcs/1504-int128.html)); all other parts of 128-bit integer support were stabilised in #49101 back in 2018. From a design perspective, `#[repr(u128)]`/`#[repr(i128)]` function like `#[repr(u64)]`/`#[repr(i64)]` but for 128-bit integers instead of 64-bit integers. The only differences are: - FFI safety: as `u128`/`i128` are not currently considered FFI safe, neither are `#[repr(u128)]`/`#[repr(i128)]` enums (I discovered this wasn't the case while drafting this stabilisation report, so I have submitted #138282 to fix this). - Debug info: while none of the major debuggers currently support 128-bit integers, as of LLVM 20 `rustc` will emit valid debuginfo for both DWARF and PDB (PDB makes use of the same natvis that is also used for all enums with fields, whereas DWARF has native support). Tests for `#[repr(u128)]`/`#[repr(i128)]` enums include: - [ui/enum-discriminant/repr128.rs](https://github.com/rust-lang/rust/blob/385970f0c1fd0c09bac426b02f38300c0b1ba9a2/tests/ui/enum-discriminant/repr128.rs): checks that 128-bit enum discriminants have the correct values. - [debuginfo/msvc-pretty-enums.rs](https://github.com/rust-lang/rust/blob/385970f0c1fd0c09bac426b02f38300c0b1ba9a2/tests/debuginfo/msvc-pretty-enums.rs): checks the PDB debuginfo is correct. - [run-make/repr128-dwarf](https://github.com/rust-lang/rust/blob/385970f0c1fd0c09bac426b02f38300c0b1ba9a2/tests/run-make/repr128-dwarf/rmake.rs): checks the DWARF debuginfo is correct. Stabilising this feature does not require any changes to the Rust Reference as [the documentation on primitive representations](https://doc.rust-lang.org/nightly/reference/type-layout.html#r-layout.repr.primitive.intro) already includes `u128` and `i128`. Closes #56071 Closes https://github.com/rust-lang/reference/issues/1368 r? lang ```@rustbot``` label +I-lang-nominated +T-lang
2025-05-29Rollup merge of #141684 - petrochenkov:bumponig, r=ehussJacob Pratt-5/+5
rustbook: Bump versions of `onig` and `onig_sys` This fixes the build on GCC 15.
2025-05-29Rollup merge of #141675 - nnethercote:ItemKind-field-order, r=fee1-deadJacob Pratt-9/+9
Reorder `ast::ItemKind::{Struct,Enum,Union}` fields. So they match the order of the parts in the source code, e.g.: ``` struct Foo<T, U> { t: T, u: U } <-><----> <------------> / | \ ident generics variant_data ``` r? `@fee1-dead`
2025-05-29Rollup merge of #141638 - oli-obk:builtin-index, r=lcnrJacob Pratt-8/+5
Use `builtin_index` instead of hand-rolling it Just using the dedicated method more
2025-05-28Auto merge of #141693 - lnicola:sync-from-ra, r=lnicolabors-956/+1513
Subtree update of `rust-analyzer` r? `@ghost`
2025-05-28jsondoclint: Extract `Command`/`CommandKind` into its own fileAlona Enraght-Moony-222/+233
2025-05-28atomic_load intrinsic: use const generic parameter for orderingRalf Jung-5/+25
2025-05-28Add `eslint` as part of tidy runGuillaume Gomez-0/+94
2025-05-28Merge pull request #4354 from RalfJung/before_stack_popRalf Jung-1/+1
fix comment in before_stack_pop
2025-05-28fix comment in before_stack_popRalf Jung-1/+1
2025-05-28docs:deleting duplicate documentationvremyavnikuda-70/+0
2025-05-28tidy: Skip pal and `#[test]` checks in compiler-builtinsTrevor Gross-0/+2
2025-05-28Stabilise `repr128`beetrees-102/+94
2025-05-28rustbook: Bump versions of `onig` and `onig_sys`Vadim Petrochenkov-5/+5
This fixes the build on GCC 15
2025-05-28Merge pull request #4344 from CraftSpider/windows-file-cloneOli Scherer-1/+97
Implement file cloning on Windows
2025-05-28Use `builin_index` instead of hand-rolling itOli Scherer-8/+5
2025-05-28Merge pull request #19881 from Veykril/push-wsrmttkymypsLukas Wirth-171/+336
feat: Desugar assist for `let pat = expr?;` -> `let else`
2025-05-28feat: Desugar assist for `let pat = expr?;` -> `let else`Lukas Wirth-171/+336
2025-05-28add Miri testsRalf Jung-0/+131
2025-05-28Merge pull request #19880 from Veykril/push-xmpxumsrkymkLukas Wirth-31/+97
fix: Handle included files better in IDE layer
2025-05-28Merge pull request #19872 from ChayimFriedman2/async-fn-outputLukas Wirth-11/+81
fix: Fix inference of `AsyncFnX` return type
2025-05-28fix: Handle included files better in IDE layerLukas Wirth-31/+97
This does not fully fix things, but it introduces a function that can be used to fix occurences. When using `to_def` functionality, the input node needs to come from the macro expanded include, not the real file that was included. This does unfortunately add more caller burden, but there is not really a way around it.
2025-05-28Merge pull request #19876 from ShoyuVanilla/layout-paddingLukas Wirth-23/+272
feat: Render padding information when hovering on structs
2025-05-28Merge pull request #4353 from rust-lang/rustup-2025-05-28Ralf Jung-44/+40
Automatic Rustup
2025-05-28Merge pull request #4351 from RalfJung/squash-winRalf Jung-1/+22
attempt to fix squash on Windows
2025-05-28Reorder `ast::ItemKind::{Struct,Enum,Union}` fields.Nicholas Nethercote-9/+9
So they match the order of the parts in the source code, e.g.: ``` struct Foo<T, U> { t: T, u: U } <-><----> <------------> / | \ ident generics variant_data ```
2025-05-28feat: Render padding information when hovering on structsShoyu Vanilla-23/+272
2025-05-28Back out "Fix IDE resolution of item macros"Lukas Wirth-14/+0
This backs out commit 3e0ab7219a5464999652beca22698cd46e1e48e8.
2025-05-28Drop unnecessay codeLukas Wirth-35/+3
2025-05-28Merge from rustcThe Miri Cronjob Bot-43/+39
2025-05-28fix: Fix IDE layer not resolving some macro callsLukas Wirth-35/+62
2025-05-28Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-05-28chore: Remove support for `concat_idents!`Trevor Gross-44/+0
`concat_idents!` was deprecated in [1] and will be removed in the near future. rust-analyzer's support is independent of rustc's, so drop RA support now to make syncing easier. [1]: https://github.com/rust-lang/rust/pull/137653
2025-05-28Auto merge of #141668 - tgross35:rollup-03gg6lf, r=tgross35bors-2/+1
Rollup of 8 pull requests Successful merges: - rust-lang/rust#140367 (add `asm_cfg`: `#[cfg(...)]` within `asm!`) - rust-lang/rust#140894 (Make check-cfg diagnostics work in `#[doc(cfg(..))]`) - rust-lang/rust#141252 (gvn: bail out unavoidable non-ssa locals in repeat) - rust-lang/rust#141517 (rustdoc: use descriptive tooltip if doctest is conditionally ignored) - rust-lang/rust#141551 (Make two transmute-related MIR lints into HIR lint) - rust-lang/rust#141591 (ci: fix llvm test coverage) - rust-lang/rust#141647 (Bump master `stage0` compiler) - rust-lang/rust#141659 (Add `Result::map_or_default` and `Option::map_or_default`) r? `@ghost` `@rustbot` modify labels: rollup