| Age | Commit message (Collapse) | Author | Lines |
|
[stable] Fix CVE-2024-43402
Backport the fix for CVE-2024-43402 in the upcoming 1.81.0. See https://github.com/rust-lang/rust/security/advisories/GHSA-2xg3-7mm6-98jj for more information about it.
This also includes https://github.com/rust-lang/rust/pull/129944 as a last-minute fix to the relnotes.
cc `@boxyuwu` as you are driving this release
r? `@ghost`
|
|
|
|
|
|
|
|
[stable] Prepare Rust 1.81.0
r? `@ghost`
|
|
|
|
|
|
[beta] backports
- Emit specific message for `time<0.3.35` inference failure #129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker #129714
- rustdoc: do not run doctests with invalid langstrings #128838
r? cuviper
|
|
|
|
|
|
(cherry picked from commit 1d19c2c009529fff08a95cbe548bcb1a6e02651c)
|
|
(cherry picked from commit 7c4150fce0510218304b726174029fbb2c33ee03)
|
|
(cherry picked from commit 950437a035aa81cf2af3d8aebdf8d9b294c54395)
|
|
```
error[E0282]: type annotations needed for `Box<_>`
--> ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.34/src/format_description/parse/mod.rs:83:9
|
83 | let items = format_items
| ^^^^^
...
86 | Ok(items.into())
| ---- type must be known at this point
|
= note: this is an inference error on crate `time` caused by a change in Rust 1.80.0; update `time` to version `>=0.3.35`
```
Partially address #127343.
(cherry picked from commit b013a3ddf0060b62ee8050e241f80d024c48cc59)
|
|
[beta] Clippy backports
r? `@Mark-Simulacrum`
Backports:
- rust-lang/rust-clippy#12892
- rust-lang/rust-clippy#13168
- rust-lang/rust-clippy#13290
Both 12892 and 13290 are fixes for stable regressions. The first is a little large, but mostly just reverts the change that caused the regression. 13168 is to handle the `Error` trait moving to core in 1.81.
|
|
`declare_interior_mutable_const`: Ignore pointer types.
fixes #12951
fixes #13233
changelog: `declare_interior_mutable_const`: Ignore pointer types.
|
|
Make `std_instead_of_core` somewhat MSRV aware
For #13158, this catches some things e.g. `core::net` and the recently stable `core::error` but not things moved individually like `UnwindSafe`, as far as I can see the version for those isn't easily available
Beta nominating since ideally we'd get this change in the same version as `core::error` becomes stable
cc `@kpreid`
changelog: none
|
|
needless_borrows_for_generic_args: Fix for &mut
This commit fixes a bug introduced in #12706, where the behavior of the lint has been changed, to avoid suggestions that introduce a move. The motivation in the commit message is quite poor (if the detection for significant drops is not sufficient because it's not transitive, the proper fix would be to make it transitive). However, #12454, the linked issue, provides a good reason for the change — if the value being borrowed is bound to a variable, then moving it will only introduce friction into future refactorings.
Thus #12706 changes the logic so that the lint triggers if the value being borrowed is Copy, or is the result of a function call, simplifying the logic to the point where analysing "is this the only use of this value" isn't necessary.
However, said PR also introduces an undocumented carveout, where referents that themselves are mutable references are treated as Copy, to catch some cases that we do want to lint against. However, that is not sound — it's possible to consume a mutable reference by moving it.
To avoid emitting false suggestions, this PR reintroduces the referent_used_exactly_once logic and runs that check for referents that are themselves mutable references.
Thinking about the code shape of &mut x, where x: &mut T, raises the point that while removing the &mut outright won't work, the extra indirection is still undesirable, and perhaps instead we should suggest reborrowing: &mut *x. That, however, is left as possible future work.
Fixes #12856
changelog: none
|
|
[beta-1.81] Update cargo
3 commits in ca2346bd3c7f51e82964aaf7e47cdf770047b6ab..2dbb1af80a2914475ba76827a312e29cedfa6b2f
2024-07-31 19:33:19 +0000 to 2024-08-20 18:24:58 +0000
- [beta-1.81] chore(deps): update rust crate gix to 0.64.0 (rust-lang/cargo#14431)
- [beta-1.81] Revert "fix: Ensure dep/feature activates the dependency on 2024" (rust-lang/cargo#14366)
- [beta-1.81] fix(vendor): Strip excluded build targets (rust-lang/cargo#14368)
r? ghost
|
|
|
|
[beta] backports and bump stage0
- Disable jump threading of float equality #128271
- Normalize when equating `dyn` tails in MIR borrowck #128694
- Improve `Ord` violation help #128273
- bump stage0 to stable 1.80.1
- Revert #125915 on beta #128760
- derive(SmartPointer): register helper attributes #128925
- Fix bug in `Parser::look_ahead`. #128994
r? cuviper
|
|
The special case was failing to handle invisible delimiters on one path.
Fixes #128895.
(cherry picked from commit 46b4c5adc5698c3e9543e17a1ed0f8073bafd1d3)
|
|
(cherry picked from commit 5534cb0a4a3907db50956f7664ab2e5c3b2bc00a)
|
|
This reverts commit 8c3a94a1c79c67924558a4adf7fb6d98f5f0f741, reversing
changes made to 3d68afc9e821b00d59058abc9bda670b07639955.
|
|
|
|
(cherry picked from commit 1be60b5d2b6ac569d51abd376e6f04e2fc07692c)
|
|
(cherry picked from commit 613155c96ab32daf12514e76476132e6b84adaf8)
|
|
(cherry picked from commit eae7a186b221bb2b4a4bedeb19d5aca658e91c25)
|
|
- Use if the implementation of [`Ord`] for `T`
language
- Link to total order wiki page
- Rework total order help and examples
- Improve language to be more precise and less
prone to misunderstandings.
- Fix usage of `sort_unstable_by` in `sort_by`
example
- Fix missing author mention
- Use more consistent example input for sort
- Use more idiomatic assert_eq! in examples
- Use more natural "comparison function" language
instead of "comparator function"
(cherry picked from commit afc404fdfc1559b4ba2846a054347e806bb8f465)
|
|
- Move panic information into # Panics section
- Fix mentions of T: Ord that should be compare
- Add missing information
(cherry picked from commit 00ce238885825e5e987dbcd4fef266e96157303d)
|
|
The new sort implementations have the ability to
detect Ord violations in many cases. This commit
improves the message in a way that should help
users realize what went wrong in their program.
(cherry picked from commit 644550f3de4805b3dec6ade4a60ecf48c1d2487b)
|
|
(cherry picked from commit c6f8672dd5e128766298ed0d53bb32a94188f886)
|
|
Jump threading stores values as `u128` (`ScalarInt`) and does its
comparisons for equality as integer comparisons.
This works great for integers. Sadly, not everything is an integer.
Floats famously have wonky equality semantcs, with `NaN!=NaN` and
`0.0 == -0.0`. This does not match our beautiful integer bitpattern
equality and therefore causes things to go horribly wrong.
While jump threading could be extended to support floats by remembering
that they're floats in the value state and handling them properly,
it's signficantly easier to just disable it for now.
(cherry picked from commit f305e188041b586fb162161f961298f1532fe83b)
|
|
Revert recent changes to dead code analysis (beta flavor)
This PR cherry-picks the subset of #128404 which actually applies to beta, namely:
* 31fe9628cf830a08e7194a446f66c668aaea86e9 Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix
* 2724aeaaeb127a8073e39461caacbe21a128ce7b Rollup merge of #126618 - mu001999-contrib:dead/enhance, r=pnkfelix
* 977c5fd419ade52467f7de79d5bfc25c0c893275 Rollup merge of #126315 - mu001999-contrib:fix/126289, r=petrochenkov
* 13314df21b0bb0cdd02c6760581d1b9f1052fa7e Rollup merge of #125572 - mu001999-contrib:dead/enhance, r=pnkfelix
And then re-blesses tests.
I opted to do a manual backport of that PR since preparing the revert correctly was quite a hassle.
r? `@cuviper` (or anyone on release)
|
|
[beta-1.81] Update cargo
1 commits in a2b58c3dad4d554ba01ed6c45c41ff85390560f2..ca2346bd3c7f51e82964aaf7e47cdf770047b6ab
2024-07-16 00:52:02 +0000 to 2024-07-31 19:33:19 +0000
- [beta-1.81] fix(publish): Don't strip non-dev features (rust-lang/cargo#14328)
r? ghost
|
|
|
|
This reverts commit 13314df21b0bb0cdd02c6760581d1b9f1052fa7e, reversing
changes made to 6e534c73c35f569492ed5fb5f349075d58ed8b7e.
|
|
This reverts commit 977c5fd419ade52467f7de79d5bfc25c0c893275, reversing
changes made to 24c94f0e4f5aa333c665fbbba423172c30176624.
|
|
This reverts commit 2724aeaaeb127a8073e39461caacbe21a128ce7b, reversing
changes made to d929a42a664c026167800801b26d734db925314f.
|
|
This reverts commit 31fe9628cf830a08e7194a446f66c668aaea86e9, reversing
changes made to f20307851ead9fbbb9fa88bbffb3258a069230a6.
|
|
|
|
[beta] rustdoc: clean up and fix ord violations in item sorting
Cherry-picks "rustdoc: clean up and fix ord violations in item sorting #128146" to beta.
r? `@Mark-Simulacrum`
|
|
Based on e3fdafc263a4a705a3bec1a6865a4d011b2ec7c5 with a few
minor changes:
- The name sorting function is changed to follow the [version sort]
from the style guide
- the `cmp` function is redesigned to more obviously make a
partial order, by always return `cmp()` of the same variable as
the `!=` above
[version sort]: https://doc.rust-lang.org/nightly/style-guide/index.html#sorting
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
|
|
[beta] promote master
https://forge.rust-lang.org/release/process.html#beta-to-stable
r? `@Mark-Simulacrum`
|
|
|
|
|
|
|
|
Migrate 9 more very similar FFI `run-make` tests to rmake
Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
For the tracking issue:
- return-non-c-like-enum-from-c
- pass-non-c-like-enum-to-c
- c-static-dylib
- c-static-rlib
- extern-fn-generic
- extern-fn-with-union
- lto-no-link-whole-rlib
- linkage-attr-on-static
- issue-28595
|
|
Rollup of 6 pull requests
Successful merges:
- #127463 ( use precompiled rustdoc with CI rustc)
- #127779 (Add a hook for `should_codegen_locally`)
- #127843 (unix: document unsafety for std `sig{action,altstack}`)
- #127873 (kmc-solid: `#![forbid(unsafe_op_in_unsafe_fn)]`)
- #127917 (match lowering: Split `finalize_or_candidate` into more coherent methods)
- #127964 (run_make_support: skip rustfmt for lib.rs)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
run_make_support: skip rustfmt for lib.rs
To avoid them getting reordered once https://github.com/rust-lang/rust/pull/125443 goes through.
r? ``@nnethercote`` (since you were working on this)
|