about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
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-2/+2
2025-09-05Auto merge of #146224 - tgross35:rollup-1bgjms3, r=tgross35bors-136/+798
Rollup of 5 pull requests Successful merges: - rust-lang/rust#144342 (add exact bitshifts) - rust-lang/rust#145709 (Fix LoongArch C function ABI when passing/returning structs containing floats) - rust-lang/rust#146152 (Unify and deduplicate algebraic float tests) - rust-lang/rust#146207 (std: Implement WASIp2-specific stdio routines) - rust-lang/rust#146217 (fix ICE when suggesting `::new`) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-05Merge pull request #2575 from rust-lang/tshepang/inline-external-linksTshepang Mbambo-3/+4
avoid inline external links
2025-09-05avoid inline external linksTshepang Mbambo-3/+4
2025-09-05Merge pull request #2574 from rust-lang/tshepang/sembrTshepang Mbambo-3/+9
split overlong physical lines
2025-09-05sembrTshepang Mbambo-3/+9
2025-09-05clarify typo pr guidanceTshepang Mbambo-2/+4
2025-09-05RawVecInner: add missing `unsafe` to unsafe fnsBart Jacobs-36/+123
- RawVecInner::grow_exact causes UB if called with len and additional arguments such that len + additional is less than the current capacity. Indeed, in that case it calls Allocator::grow with a new_layout that is smaller than old_layout, which violates a safety precondition. - All RawVecInner methods for resizing the buffer cause UB if called with an elem_layout different from the one used to initially allocate the buffer, because in that case Allocator::grow/shrink is called with an old_layout that does not fit the allocated block, which violates a safety precondition. - RawVecInner::current_memory might cause UB if called with an elem_layout different from the one used to initially allocate the buffer, because the unchecked_mul might overflow. - Furthermore, these methods cause UB if called with an elem_layout where the size is not a multiple of the alignment. This is because Layout::repeat is used (in layout_array) to compute the allocation's layout when allocating, which includes padding to ensure alignment of array elements, but simple multiplication is used (in current_memory) to compute the old allocation's layout when resizing or deallocating, which would cause the layout used to resize or deallocate to not fit the allocated block, which violates a safety precondition.
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 pull request #4567 from rust-lang/rustup-2025-09-05Ralf Jung-2885/+9298
Automatic Rustup
2025-09-05Simplify `{f16, f32, f54, f128}::midpoint()`Jules Bertholet-32/+0
`(float_ty::MAX / 2) - (float_ty::MIN_POSITIVE * 2)` equals `(float_ty::MAX / 2) + (float_ty::MIN_POSITIVE * 2)` equals `(float_ty::MAX / 2)`. So these branches are pointless
2025-09-05Rollup merge of #146217 - lukas-code:suggest-new-ice, r=compiler-errorsTrevor Gross-10/+69
fix ICE when suggesting `::new` fixes https://github.com/rust-lang/rust/issues/146174 This code suggests to write `Foo::new(...)` when the user writes `Foo(...)` or `Foo { ... }` and the constructor is private, where `new` is some associated function that returns `Self`. When checking that the return type of `new` is `Self`, we need to instantiate the parameters of `new` with infer vars, so we don't end up with a type like `Box<$param(0)>` in a context that doesn't have any parameters. But then we can't use `normalize_erasing_late_bound_regions` anymore because that goes though a query that can't deal with infer vars. Since this is diagnostic-only code that is supposed to check for exactly `-> Self`, I think it's fine to just skip normalizing here, especially since The Correct Way<sup>TM</sup> would involve a probe and make this code even more complicated. Also, the code here does almost the same thing, and these suggestions can probably be unified in the future: https://github.com/rust-lang/rust/blob/4ca8078d37c53ee4ff8fb32b4453b915116f25b8/compiler/rustc_hir_typeck/src/method/suggest.rs#L2123-L2129 r? ````@compiler-errors```` cc ````@Qelxiros```` -- this should unblock https://github.com/rust-lang/rust/pull/144420
2025-09-05Rollup merge of #146207 - alexcrichton:wasip2-stdio, r=juntyrTrevor Gross-3/+127
std: Implement WASIp2-specific stdio routines This commit is an extension of rust-lang/rust#145944 but applied to stdio specifically. The stdio routines are updated away from WASIp1 APIs to using WASIp2 APIs natively. The end goal is to eventually drop the dependency on WASIp1 APIs in the standard library entirely in favor of exclusively depending on WASIp2.
2025-09-05Rollup merge of #146152 - rperier:unify_and_dedup_algebraic_float_tests, ↵Trevor Gross-83/+44
r=tgross35 Unify and deduplicate algebraic float tests cc rust-lang/rust#141726 This is a proposal to unify and deduplicate the algebraic tests for f16, f32, f64 and f128
2025-09-05Rollup merge of #145709 - heiher:issue-145692-1, r=jackh726Trevor Gross-40/+327
Fix LoongArch C function ABI when passing/returning structs containing floats Similar to RISC-V, LoongArch passes structs containing only one or two floats (or a float–integer pair) in registers, as long as each element fits into a single corresponding register. Before this PR, Rust did not check the actual offset of the second float or integer; instead, it assumed the standard offset based on the default alignment. However, since the offset can be affected by `#[repr(align(N))]` and `#[repr(packed)]`, this led to miscompilations (see rust-lang/rust#145692). This PR fixes the issue by explicitly specifying the offset for the remainder of the cast.
2025-09-05Rollup merge of #144342 - Qelxiros:exact-bitshifts, r=tgross35Trevor Gross-0/+231
add exact bitshifts Tracking issue: rust-lang/rust#144336 cc ```@lolbinarycat```
2025-09-05Auto merge of #144737 - petrochenkov:extprelcache, r=davidtwcobors-19/+9
resolve: Avoid finalizing extern prelude entries more than once
2025-09-05Merge ref 'b3cfb8faf84c' from rust-lang/rustThe Miri Cronjob Bot-2884/+9297
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-05Auto merge of #146218 - flip1995:clippy-subtree-update, r=Manishearthbors-1641/+4536
Clippy subtree update r? `@Manishearth`
2025-09-04Add `Path::has_trailing_sep` and related methodsltdk-4/+221
2025-09-04fix: Filter suggestion parts that match existing codeScott Schafer-8/+4
2025-09-04fix: Filter suggestion parts that match existing codeScott Schafer-18/+15
2025-09-04chore: Remove redundant disjoint spans assertScott Schafer-5/+0
2025-09-04refactor: Move assert for disjoint substitution spansScott Schafer-1/+6
2025-09-04Auto merge of #138736 - azhogin:azhogin/sanitizers-target-modificators, ↵bors-68/+311
r=rcvalle Sanitizers target modificators Depends on bool flag fix: https://github.com/rust-lang/rust/pull/138483. Some sanitizers need to be target modifiers, and some do not. For now, we should mark all sanitizers as target modifiers except for these: AddressSanitizer, LeakSanitizer For kCFI, the helper flag -Zsanitizer-cfi-normalize-integers should also be a target modifier. Many test errors was with sanizer flags inconsistent with std deps. Tests are fixed with `-C unsafe-allow-abi-mismatch`.
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-04Merge commit 'e9b70454e4c9584be3b22ddabd26b741aeb06c10' into ↵Philipp Krones-1641/+4536
clippy-subtree-update
2025-09-04Rustup (#15616)Philipp Krones-95/+63
r? @ghost changelog: integer-to-pointer-transmutes are now handled by the upstream `integer_to_ptr_transmutes` Rust lint and no longer by the [`useless_transmute`] Clippy lint
2025-09-04Bump nightly version -> 2025-09-04Philipp Krones-2/+2
2025-09-04Merge remote-tracking branch 'upstream/master' into rustupPhilipp Krones-1659/+4548
2025-09-04Set flip1995 to on-vacation (#15614)Philipp Krones-0/+1
Forgot to do this at the start of the week. Will be back on the 15th. (That's also the reason why I forgot about the meeting. Sorry for that!) r? @ghost changelog: none
2025-09-04Set flip1995 to on-vacationPhilipp Krones-0/+1
2025-09-04fix ICE when suggesting `::new`Lukas Markeffsky-10/+69
2025-09-04Auto merge of #145911 - notriddle:stringdex-tweak-3, r=GuillaumeGomezbors-164/+647
rustdoc-search: yet another stringdex optimization attempt This one's uses a different tactic. It shouldn't significantly increase the amount of downloaded index data, but still reduces the amount of disk usage. This one works by changing the suffix-only node representation to omit some data that's needed for checking. Since those nodes make up the bulk of the tree, it reduces the data they store, but also requires validating the match by fetching the name itself (but the names list is pretty small, and when I tried it with wordnet "indexing" it was about the same). r? `@GuillaumeGomez`
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-04additional testsdianne-0/+70
Co-authored-by: Travis Cross <tc@traviscross.com>
2025-09-04don't extend non-extended `super let` initializers' block tail tempsdianne-13/+40
2025-09-04Auto merge of #146205 - matthiaskrgr:rollup-fxt43oq, r=matthiaskrgrbors-15/+35
Rollup of 4 pull requests Successful merges: - rust-lang/rust#145976 (Add bootstrap.toml option to control debug breaking on ICEs on windows) - rust-lang/rust#146151 (fixes auto-run js checks in tidy) - rust-lang/rust#146194 (fix path str eq) - rust-lang/rust#146197 (triagebot: fix rustc_allow_const_fn_unstable matcher) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-04std: Implement WASIp2-specific stdio routinesAlex Crichton-3/+127
This commit is an extension of previous libstd support but applied to stdio specifically. The stdio routines are updated away from WASIp1 APIs to using WASIp2 APIs natively. The end goal is to eventually drop the dependency on WASIp1 APIs in the standard library entirely in favor of exclusively depending on WASIp2.
2025-09-04Rollup merge of #146197 - RalfJung:triagebot-rustc_allow_const_fn_unstable, ↵Matthias Krüger-1/+1
r=Urgau triagebot: fix rustc_allow_const_fn_unstable matcher The attribute is used like `#[rustc_allow_const_fn_unstable(const_precise_live_drops)]` so we can't have the final `]` here... r? `@Urgau`
2025-09-04Rollup merge of #146194 - bend-n:fix-path-str-eq, r=ibraheemdevMatthias Krüger-1/+7
fix path str eq fixes rust-lang/rust#146183 where the impl for partialeq<str> for pathbuf resulted in infinite recursion
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`
2025-09-04Rollup merge of #145976 - beepster4096:configure_debugbreak, r=clubby789Matthias Krüger-2/+18
Add bootstrap.toml option to control debug breaking on ICEs on windows When rustc ICEs during bootstrap on Windows, it will call `DebugBreak`. This is intended to trigger a Windows Error Reporting dialog that can launch a debugger. However on some setups (mine for one) this will just abort the process, hiding any ICEs on other threads as well. I also would not want to see this dialog even if it did work for me. This PR adds a new option to bootstrap.toml `rust.break-on-ice` to configure this behavior. By default, it is enabled, matching the existing behavior.