| Age | Commit message (Collapse) | Author | Lines |
|
[stable] Prepare Rust 1.88.0 release
- **Sync RELEASES.md from master**
- **Update channel to stable**
r? cuviper
|
|
|
|
|
|
[beta] backports
- Make the assertion in `Ident::new` debug-only. rust-lang/rust#140880
- Avoid creating an empty identifer in `Symbol::to_ident_string`. rust-lang/rust#141318
- Backport rust-lang/stdarch#1818 for 1.88 rust-lang/rust#142694
- [beta] Clippy backport rust-lang/rust#142725
- ICE:
- https://github.com/rust-lang/rust-clippy/pull/14776
- Lint contradictions:
- https://github.com/rust-lang/rust-clippy/pull/14703
- https://github.com/rust-lang/rust-clippy/pull/14810
- Smaller (in LoC changes) fixes:
- https://github.com/rust-lang/rust-clippy/pull/14733
- https://github.com/rust-lang/rust-clippy/pull/14730
- [win][ci] Update LLVM toolchain used to build LLVM to 20 rust-lang/rust#140757
r? cuviper
|
|
(cherry picked from commit 036b5fcb0241c3dc28823c43b52a80376a4c040a)
|
|
The `mir_drops_elaborated_and_const_checked` query result has been
stolen already and cannot be borrowed again. Use the `optimized_mir`
query result instead.
changelog: [`missing_const_for_fn`]: fix ICE with some compilation
options
Fixes rust-lang/rust-clippy#14774
r? @Jarcho
|
|
(rust-lang/rust-clippy#14810)
Rust 1.88 introduces the `dangerous_implicit_autorefs` lint which warns
about using implicit autorefs on a place obtained from a raw pointer, as
this may create aliasing issues.
Prevent `clippy::needless_borrow` from triggering in this case, by
disabling the lint when taking a reference on a raw pointer dereference.
There might be a better way for doing this in the long run with a finer
way of distinguish the problematic cases, but this will prevent Clippy
from contradicting the compiler in the meantime.
Fixes rust-lang/rust-clippy#14743
changelog: [`needless_borrow`]: do not contradict the compiler's
`dangerous_implicit_autorefs` lint even though the refererences are not
mandatory
@rustbot label +beta-nominated
<!-- TRIAGEBOT_START -->
<!-- TRIAGEBOT_SUMMARY_START -->
- [Beta nomination for
1.88](https://github.com/rust-lang/rust-clippy/pull/14810#issuecomment-2883753957)
by [samueltardieu](https://github.com/samueltardieu)
Generated by triagebot, see
[help](https://forge.rust-lang.org/triagebot/note.html) for how to add
more
<!--
TRIAGEBOT_SUMMARY_DATA_START$${"entries_by_url":{"https://github.com/rust-lang/rust-clippy/pull/14810#issuecomment-2883753957":{"title":"Beta
nomination for
1.88","comment_url":"https://github.com/rust-lang/rust-clippy/pull/14810#issuecomment-2883753957","author":"samueltardieu"}}}$$TRIAGEBOT_SUMMARY_DATA_END
-->
<!-- TRIAGEBOT_SUMMARY_END -->
<!-- TRIAGEBOT_END -->
|
|
changelog: [`transmute_float_to_int, transmute_int_to_char,
transmute_int_to_float`, `transmute_num_to_bytes`]: remove lints, now in
rustc
these lints are now mostly in rustc, so they dont need to be in clippy
anymore
https://github.com/rust-lang/rust/pull/136083#discussion_r2009897120
pending https://github.com/rust-lang/rust/pull/140431:
transmute_int_to_bool
<!-- TRIAGEBOT_START -->
<!-- TRIAGEBOT_SUMMARY_START -->
- ["Rust version of new lints should be checked" by
@samueltardieu](https://github.com/rust-lang/rust-clippy/pull/14703#issuecomment-2861982576)
Generated by triagebot, see
[help](https://forge.rust-lang.org/triagebot/note.html) for how to add
more
<!--
TRIAGEBOT_SUMMARY_DATA_START$${"entries_by_url":{"https://github.com/rust-lang/rust-clippy/pull/14703#issuecomment-2861982576":{"title":"Rust
version of new lints should be
checked","comment_url":"https://github.com/rust-lang/rust-clippy/pull/14703#issuecomment-2861982576","author":"samueltardieu"}}}$$TRIAGEBOT_SUMMARY_DATA_END
-->
<!-- TRIAGEBOT_SUMMARY_END -->
<!-- TRIAGEBOT_END -->
|
|
Closes rust-lang/rust-clippy#14722
changelog: [`collapsible_if`] fix FP on block stmt before expr
|
|
Fixes
https://github.com/rust-lang/rust-clippy/pull/14397#issuecomment-2848328221
r? @samueltardieu
changelog: Don't warn about clippy.toml disallowed paths for crates that
were not loaded
|
|
|
|
Because that causes an assertion failure in debug builds.
Fixes #140884.
(cherry picked from commit 1cc0e38fdc4d2ec8c9c130d7ffc9c30d100885a2)
|
|
This fixes a perf regression introduced in #140252.
(cherry picked from commit 4cb9f0309d6e85e6d4bef42321b06ad299e3ef27)
|
|
[beta] backports
- x86 (32/64): go back to passing SIMD vectors by-ptr rust-lang/rust#141309
- use correct edition when warning for unsafe attributes rust-lang/rust#142261
r? cuviper
|
|
If an attribute is re-emitted by a macro, the incorrect edition was used to emit warnings for unsafe attributes
(cherry picked from commit 2c8257493da0e452c03f34cc6f409d98234746db)
|
|
(cherry picked from commit f01bbfc5e78b4abefe5b386dcf8e83ced4cbe664)
|
|
(cherry picked from commit 321db85fb4fa58fc03e86a3a7a901ff7fb624583)
|
|
[beta] backports
- Update to LLVM 20.1.5 rust-lang/rust#141063
r? cuviper
|
|
(cherry picked from commit c7a2694a803513d09c96dbaf3f3a7b099d93cec6)
|
|
[beta] backports and stage0 bump
- bump stage0 to 1.87.0
- Update the edition guide for let chains rust-lang/rust#140852
- Fix download of GCC from CI on non-nightly channels rust-lang/rust#140901
- Revert "Fix linking statics on Arm64EC rust-lang/rust#140176" rust-lang/rust#141024
- [win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test rust-lang/rust#141045
- Do not call name() on rpitit assoc_item rust-lang/rust#141308
- Temporarily use Windows Server 2022 instead of Windows Server 2025 images rust-lang/rust#141023
- Use Docker cache from the current repository rust-lang/rust#141280
- Move dist-x86_64-linux CI job to GitHub temporarily rust-lang/rust#141388
- ci: prepare aws access keys for migration rust-lang/rust#141389
- Add bors environment to CI rust-lang/rust#141323
- ci: split dist-arm-linux job rust-lang/rust#141078
r? cuviper
|
|
|
|
This will be used to access secrets once we move off rust-lang-ci.
|
|
(cherry picked from commit 806cd12f56446bd31aea495e83661f5c3cf3a17d)
|
|
To make it easier to migrate off the `rust-lang-ci/rust` repository.
(cherry picked from commit 7d32303574c63cb396d5e1cb17f00061665a0f75)
|
|
This is needed to make the cache work after moving CI from the `rust-lang-ci` org to `rust-lang`.
(cherry picked from commit eb530325f08b9151cb1917d01a8cb913ab1dd1ab)
|
|
At the moment, it seems like Windows Server 2025 20250504.1.0 is
misconfigured causing insufficient disk space failures. Temporarily go
back to Windows Server 2022 in the hope that those are not also
misconfigured.
(cherry picked from commit f4ce73ede2f4df0f9983b337ceeed96c11f52c14)
|
|
(cherry picked from commit 66d47c16873fc04a02cb0bd977ec7f3d50f228f1)
|
|
disable problematic test
(cherry picked from commit 6128fca0b0b70ac6497bf5da38a5d3db37219f78)
|
|
Unfortunately, multiple people are reporting linker warnings related to
`__rust_no_alloc_shim_is_unstable` after this change. The solution isn't
quite clear yet, let's revert to green for now, and try a reland with a
determined solution for `__rust_no_alloc_shim_is_unstable`.
This reverts commit c8b7f32434c0306db5c1b974ee43443746098a92, reversing
changes made to 667247db71ea18c4130dd018d060e7f09d589490.
(cherry picked from commit 734a5b1aa7888db3d86faffea1a15254022d68c9)
|
|
(cherry picked from commit 448b7afb32e4fd55af8c0592227b16fcc5b64308)
|
|
(cherry picked from commit 577e82f71b07b11c6a6f74ac788c65cbd2674a2a)
|
|
|
|
Backport #140902 to beta
This PR backports #140902 to the beta branch, to unblock the stage0 bump.
r? `@ghost`
|
|
|
|
[beta-1.88] Update cargo
1 commits in 7918c7eb59614c39f1c4e27e99d557720976bdd7..873a0649350c486caf67be772828a4f36bb4734c
2025-04-27 09:44:23 +0000 to 2025-05-10 06:10:32 -0500
- [beta-1.88] fix(rustc): Don't panic on unknown bins (rust-lang/cargo#15515)
r? ghost
|
|
|
|
[beta] Prepare 1.88.0 beta
https://forge.rust-lang.org/release/process.html#beta-pr
r? `@ghost`
|
|
|
|
|
|
Rollup of 5 pull requests
Successful merges:
- #140801 (Use span before macro expansion in lint for-loops-over-falibles)
- #140804 (add signed ints to unn- transmutes to ensure feature parity)
- #140812 (Fix `tests/rustdoc-json` triagebot message path)
- #140817 (bootstrap: more consistent use of `...` when citing configuration snippets)
- #140828 (Enable non-leaf Frame Pointers for Arm64 Windows)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Enable non-leaf Frame Pointers for Arm64 Windows
Microsoft recommends enabling frame pointers for Arm64 Windows as it enables fast stack walking, from <https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#integer-registers>:
> The frame pointer (x29) is required for compatibility with fast stack walking used by ETW and other services. It must point to the previous {x29, x30} pair on the stack.
I'm setting this to "non-leaf" as leaf functions shouldn't be spilling registers and so won't touch the frame pointer.
|
|
bootstrap: more consistent use of `...` when citing configuration snippets
|
|
Fix `tests/rustdoc-json` triagebot message path
r? ```@aDotInTheVoid```
|
|
add signed ints to unn- transmutes to ensure feature parity
i forgot a few cases https://github.com/rust-lang/rust-clippy/pull/14703/#pullrequestreview-2824194994
adds
- char -> i32
- i32 -> char
- float -> size ()
- size -> float
- i32 -> float
``@rustbot`` label L-unnecessary_transmutes
|
|
Use span before macro expansion in lint for-loops-over-falibles
Fixes #140747
I think there are going to be a lot of cases where macros are expanded in the compiler resulting in span offsets, and I'd like to know how that's typically handled. Does it have to be handled specially every time?
|
|
Remove `Ident::empty`
All uses have been removed. And it's nonsensical: an identifier by definition has at least one char.
r? `@oli-obk`
|
|
All uses have been removed. And it's nonsensical: an identifier by
definition has at least one char.
The commits adds an is-non-empty assertion to `Ident::new` to enforce
this, and converts some `Ident` constructions to use `Ident::new`.
Adding the assertion requires making `Ident::new` and
`Ident::with_dummy_span` non-const, which is no great loss.
The commit amends a couple of places that do path splitting to ensure no
empty identifiers are created.
|
|
Fix linking statics on Arm64EC
Arm64EC builds recently started to fail due to the linker not finding a symbol:
```
symbols.o : error LNK2001: unresolved external symbol #_ZN3std9panicking11EMPTY_PANIC17hc8d2b903527827f1E (EC Symbol)
C:\Code\hello-world\target\arm64ec-pc-windows-msvc\debug\deps\hello_world.exe : fatal error LNK1120: 1 unresolved externals
```
It turns out that `EMPTY_PANIC` is a new static variable that was being exported then imported from the standard library, but when exporting LLVM didn't prepend the name with `#` (as only functions are prefixed with this character), whereas Rust was prefixing with `#` when attempting to import it.
The fix is to have Rust not prefix statics with `#` when importing.
Adding tests discovered another issue: we need to correctly mark static exported from dylibs with `DATA`, otherwise MSVC's linker assumes they are functions and complains that there is no exit thunk for them.
CI found another bug: we only apply `DllImport` to non-local statics that aren't foreign items (i.e., in an `extern` block), that is we want to use `DllImport` for statics coming from other Rust crates. However, `__rust_no_alloc_shim_is_unstable` is a static generated by the Rust compiler if required, but downstream crates consider it a foreign item since it is declared in an `extern "Rust"` block, thus they do not apply `DllImport` to it and so fails to link if it is exported by the previous crate as `DATA`. The fix is to apply `DllImport` to foreign items that are marked with the `rustc_std_internal_symbol` attribute (i.e., we assume they aren't actually foreign and will be in some Rust crate).
Fixes #138541
---
try-job: dist-aarch64-msvc
try-job: dist-x86_64-msvc
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
|
|
Rollup of 8 pull requests
Successful merges:
- #140095 (Eliminate `word_and_empty` methods.)
- #140341 (Clarify black_box warning a bit)
- #140684 (Only include `dyn Trait<Assoc = ...>` associated type bounds for `Self: Sized` associated types if they are provided)
- #140707 (Structurally normalize in range pattern checking in HIR typeck)
- #140716 (Improve `-Zremap-path-scope` tests with dependency)
- #140800 (Make `rustdoc-tempdir-removal` run-make tests work on other platforms than linux)
- #140802 (Add release notes for 1.87.0)
- #140811 (Enable triagebot note functionality for rust-lang/rust)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|