about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-30Suggest constant on unused binding in a patternEsteban Küber-20/+59
``` error: unused variable: `Batery` --> $DIR/binding-typo-2.rs:110:9 | LL | Batery => {} | ^^^^^^ | help: if this is intentional, prefix it with an underscore | LL | _Batery => {} | + help: you might have meant to pattern match on the similarly named constant `Battery` | LL | Battery => {} | + ```
2025-08-30Merge pull request #2536 from apiraino/no-typofixes-plsapiraino-0/+3
2025-08-30On unused binding in pattern, suggest unit struct/variant with similar nameEsteban Küber-105/+279
When encountering a typo in a pattern that gets interpreted as an unused binding, look for unit struct/variant of the same type as the binding: ``` error: unused variable: `Non` --> $DIR/binding-typo-2.rs:36:9 | LL | Non => {} | ^^^ | help: if this is intentional, prefix it with an underscore | LL | _Non => {} | + help: you might have meant to pattern match on the similarly named variant `None` | LL - Non => {} LL + std::prelude::v1::None => {} | ```
2025-08-30Commas to semicolons in clippy.toml reasonsSamuel Moelius-5/+5
2025-08-30Fix FP of `needless_range_loop` when meeting multidimensional array (#15486)Jason Newcomb-5/+86
Fixes rust-lang/rust-clippy#15068 changelog: Fix [`needless_range_loop`] false positive and false negative when meeting multidimensional array
2025-08-30Update `browser-ui-test` version to `0.21.3`Guillaume Gomez-3/+3
2025-08-30fix: `assertions_on_result_states` avoid changing return type in more casesAda Alakbarova-16/+43
previously, we added a trailing semicolon only if the expr was a trailing expr of a block
2025-08-30Update target spec metadata of Arm64EC Windows and Trusty targetsTaiki Endo-5/+5
2025-08-30Auto merge of #145479 - Kmeakin:km/hardcode-char-is-control, r=joboetbors-28/+5
Hard-code `char::is_control` Split off from https://github.com/rust-lang/rust/pull/145219 According to https://www.unicode.org/policies/stability_policy.html#Property_Value, the set of codepoints in `Cc` will never change. So we can hard-code the patterns to match against instead of using a table. This doesn't change the generated assembly, since the lookup table is small enough that[ LLVM is able to inline the whole search](https://godbolt.org/z/bG8dM37YG). But this does reduce the chance of regressions if LLVM's heuristics change in the future, and means less generated Rust code checked in to `unicode-data.rs`.
2025-08-30Do not run `lint-docs` tests in stage 1 `x test` by defaultJakub Beránek-14/+10
2025-08-30Merge pull request #20563 from ChayimFriedman2/ns-projection-dyn-auto-traitShoyu Vanilla (Flint)-1/+70
fix: When mapping next-solver's `dyn` type, add `Self` (aka. bound var ^1.0) to auto traits' substitutions
2025-08-30Explicity disable LSX feature for `loongarch64-unknown-none` targetWANG Rui-1/+1
The `loongarch64-unknown-none` target is a bare-metal target with hardware floating-point support and should not enable SIMD extensions by default. However, LLVM's LoongArch64 backend enables LSX implicitly, inadvertently activating SIMD instructions for this target. This patch explicitly disable LSX feature to prevent unintended SIMD usage.
2025-08-30Fix stage 1 compiler testsJakub Beránek-19/+97
2025-08-30Add test stage 2 snapshot testsJakub Beránek-10/+97
2025-08-30Fix tests and doclinkJakub Beránek-10/+10
2025-08-30Fake nodejs in snapshot testJakub Beránek-0/+2
2025-08-30Fix doclinkJakub Beránek-1/+1
2025-08-30Skip bootstrap tests on CIJakub Beránek-1/+5
2025-08-30Add change tracker entryJakub Beránek-0/+5
2025-08-30Do not run tests on CI in stage 0Jakub Beránek-1/+1
2025-08-30Fix spacing when testing individual cratesJakub Beránek-6/+11
2025-08-30Fix staging for compiler/std crate testsJakub Beránek-56/+106
2025-08-30Move the `test!` macro closer to its usagesJakub Beránek-70/+70
2025-08-30Add metadata to a bunch of steps, rename variables and add commentsJakub Beránek-28/+102
2025-08-30Small refactoring around `RemoteCopyLibs`Jakub Beránek-10/+14
2025-08-30Remove stage0 checkingJakub Beránek-16/+2
2025-08-30Refactor `test::LintDocs`Jakub Beránek-7/+31
2025-08-30Remove `compiler_for` from `test::CodegenCranelift`Jakub Beránek-49/+35
2025-08-30Remove `compiler_for` from `test::CodegenGCC`Jakub Beránek-51/+31
2025-08-30Fix staging of `TestFloatParse`Jakub Beránek-74/+61
The tool wasn't useful for anything, it was only built as a part of the test, but we can just use `cargo test` and `cargo run` in the test, no need to (pre-)build the tool itself.
2025-08-30Add snapshot test for `x test`Jakub Beránek-1/+71
2025-08-30Forbid running tests on stage 0 unless `build.compiletest-allow-stage0` is ↵Jakub Beránek-1/+7
enabled
2025-08-30Fixup `x test tier-check`Jakub Beránek-21/+40
2025-08-30Add snapshot test for `tier-check`Jakub Beránek-0/+13
2025-08-30Merge pull request #4549 from RalfJung/mprotectRalf Jung-39/+21
native-lib mode: avoid unsoundness due to mrpotect
2025-08-30std: clarify `OpenOptions` error for create without write accessVladimir Petrzhikovskii-22/+91
Previously, attempting to create/truncate a file without write/append access would result in platform-specific error messages: - Unix: "Invalid argument" - Windows: raw OS error code 87 These error codes look like system errors, which could waste hours of debugging for what is actually an API misuse issue.
2025-08-30reduce some code duplication and update some commentsRalf Jung-22/+8
2025-08-30dedup recip float testKarol Zwolak-50/+22
I left the additional asserts on {f16, f128}::MAX.recip() in a new test_max_recip tests.
2025-08-30native-lib mode: avoid unsoundness due to mrpotectRalf Jung-17/+13
2025-08-30Remove incorrect FIXMEJonathan Brouwer-1/+1
2025-08-30Auto merge of #146026 - Zalathar:rollup-urbmv0t, r=Zalatharbors-278/+844
Rollup of 5 pull requests Successful merges: - rust-lang/rust#143462 (fix(lib-std-fs): handle `usize` overflow in `read*`) - rust-lang/rust#144651 (Implementation: `#[feature(nonpoison_condvar)]`) - rust-lang/rust#145465 (Stabilize `array_repeat` feature) - rust-lang/rust#145776 (Optimize `.ilog({2,10})` to `.ilog{2,10}()`) - rust-lang/rust#145969 (Add Duration::from_nanos_u128) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-30Switch select_unpredictable guard to raw pointerAurelia Molzer-8/+11
2025-08-30Simplify select_unpredictable guard selectionAurelia Molzer-6/+6
Instead of a tuple, select the dropped value and its guard with two separate calls to the intrinsic which makes both calls have a pointer-valued argument that should be simpler in codegen. Use the same condition on all (not an inverted condition) to clarify the intent of parallel selection. This should also be a simpler value-dependency chain if the guard is deduced unused (i.e. drop_in_place a noop for the type).
2025-08-30Clarify panic-drop test for select_unpredictableAurelia Molzer-4/+3
2025-08-30Rollup merge of #145969 - actuallylost:duration-from-nanos-128, r=tgross35Stuart Cook-0/+56
Add Duration::from_nanos_u128 Feature Gate: `#![feature(duration_from_nanos_u128)]` ACP: https://github.com/rust-lang/libs-team/issues/567 Tracking issue: https://github.com/rust-lang/rust/issues/139201 Recreated from https://github.com/rust-lang/rust/pull/139243
2025-08-30Rollup merge of #145776 - ChaiTRex:ilog_specialization, r=joboetStuart Cook-0/+14
Optimize `.ilog({2,10})` to `.ilog{2,10}()` Optimize `.ilog({2,10})` to `.ilog{2,10}()` Inform compiler of optimizations when the base is known at compile time and there's a cheaper method available: * `{integer}.checked_ilog(2)` -> `{integer}.checked_ilog2()` * `{integer}.checked_ilog(10)` -> `{integer}.checked_ilog10()` * `{integer}.ilog(2)` -> `{integer}.ilog2()` * `{integer}.ilog(10)` -> `{integer}.ilog10()`
2025-08-30Rollup merge of #145465 - Kivooeo:stabilize-array_repeat, r=joboetStuart Cook-5/+1
Stabilize `array_repeat` feature This closes [tracking issue](https://github.com/rust-lang/rust/issues/126695) and stabilises `array::repeat`
2025-08-30Rollup merge of #144651 - connortsui20:nonpoison_condvar, r=joboetStuart Cook-271/+771
Implementation: `#[feature(nonpoison_condvar)]` Tracking Issue: https://github.com/rust-lang/rust/issues/134645 This PR continues the effort made in https://github.com/rust-lang/rust/pull/144022 by adding the implementation of `nonpoison::condvar`. Many of the changes here are similar to the changes made to implement `nonpoison::mutex`. There are two other changes here. The first is that the `Barrier` implementation is migrated to use the `nonpoison::Condvar` instead of the `poison` variant. The second (which might be subject to some discussion) is that `WaitTimeoutResult` is moved up to `mod.rs`, as both `condvar` variants need that type (and I do not know if there is a better place to put it now). ### Related PRs - `nonpoison_rwlock` implementation: https://github.com/rust-lang/rust/pull/144648 - `nonpoison_once` implementation: https://github.com/rust-lang/rust/pull/144653
2025-08-30Rollup merge of #143462 - Rudxain:read_to_string_usize, r=joboetStuart Cook-2/+2
fix(lib-std-fs): handle `usize` overflow in `read*` I assume this is a non-breaking change, as there would be an OOM `panic` anyways. This patch ensures a fast-fail when there's not enough memory to load the file. This only changes behavior on platforms where `usize` is smaller than 64bits
2025-08-30Add `#[must_use] and update `cloned` documentationConnor Tsui-2/+6
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com> Co-authored-by: Jonas Böttiger <jonasboettiger@icloud.com>