| Age | Commit message (Collapse) | Author | Lines |
|
[stable] 1.80.0 release
https://forge.rust-lang.org/release/process.html#promote-branches-t-3-days-monday
r? `@Mark-Simulacrum`
|
|
|
|
[beta] Clippy backport
r? `@Mark-Simulacrum`
Really small backport this time:
- https://github.com/rust-lang/rust-clippy/pull/12961
Fixes a quite annoying bug of this lint, that got into the last stable release 1.79.0. There were already 3 issues opened about it in the Clippy repo. It would be great to get this fixed for the next stable release.
I confirmed that this commit is already part of `master`
|
|
Don't allow unsafe statics outside of extern blocks (beta version)
This PR fixes a regression where we allowed `unsafe static` items in top-level modules (i.e. outside of `unsafe extern` blocks).
#127943 does not rebase cleanly, so I've prepared an extremely pared down version of this PR for beta purposes.
|
|
|
|
[beta-1.80] Update cargo
1 commits in 34a6a87d8a2330d8c9d578f927489689328a652d..37629051518c3df9ac2c1744589362a02ecafa99
2024-06-04 15:31:01 +0000 to 2024-07-16 01:31:28 +0000
- [beta-1.80.0] chore: downgrade to jobserver@0.1.28 (rust-lang/cargo#14255)
try-job: dist-riscv64-linux
|
|
Fix incorrect suggestion for `manual_unwrap_or_default`
Fixes #12928.
If this not a "simple" pattern, better not emit the lint.
changelog: Fix incorrect suggestion for `manual_unwrap_or_default`
|
|
binutils 2.40 is required by LLVM 19, as older versions do not
know about the zmmull extension.
I've had to backport some patches to glibc and gcc as well,
as they don't build with binutils 2.40. Alternatively, we could
also switch to glibc 2.35 and gcc 12 (I think). I figured we'd
want to avoid the glibc version change, but if that's fine for
riscv I can go with that instead.
|
|
|
|
[beta] backports
- Update LLVM submodule #127364
- instantiate higher ranked goals in candidate selection again #127568
r? cuviper
|
|
reverts #119820
(cherry picked from commit f77394fdf3f45188d3f110f72f31c4233d4d38eb)
|
|
(cherry picked from commit 3d699a4fa1eee76a8d8951e449d5df37061af658)
|
|
[beta] backports
- Properly gate `safe` keyword in pre-expansion #126757
- Switch back `non_local_definitions` lint to allow-by-default #127015
- Stall computing instance for drop shim until it has no unsubstituted const params #127068
- Update LLVM submodule #127190
- Change to the NetBSD archive URL rather than the CDN #127232
r? cuviper
|
|
The CDN has been down for a few hours. Switch to an alternative for the
time being so we can unblock CI.
It appears that the CDN is quite a bit faster, so we will likely want to
switch back when available.
(cherry picked from commit 42ac903f4fe4e9894f8c6e97538696bdbae848dc)
|
|
(cherry picked from commit da81d0d940481827fb2bdd164ea0038832e3779e)
|
|
(cherry picked from commit f17b27b3014adea0c40df55b31bd2fbbd72e76c4)
|
|
(cherry picked from commit 90c2b238e6a38e3309a7ffc1162e6361db14ffdd)
|
|
as request T-lang is requesting some major changes in the lint inner
workings in #126768#issuecomment-2192634762
(cherry picked from commit 0c0dfb88eeefbbaa4c10cfa4a7f0e16541e086eb)
|
|
(cherry picked from commit 108b3f214a7e160ecb7ac2ec05bbb41aedd05a95)
|
|
[beta] backports
- Only compute `specializes` query if (min)specialization is enabled in the crate of the specializing impl #126139
- Add pub struct with allow(dead_code) into worklist #126315
- ci: Update centos:7 to use vault repos #126352
r? cuviper
|
|
CentOS 7 is going EOL on June 30, after which its package repos will no
longer exist on the regular mirrors. We'll still be able to access
packages from the vault server though, and can start doing so now. This
affects `dist-i686-linux` and `dist-x86_64-linux`.
I also removed `epel-release` because we were only using that for its
`cmake3`, but we've been building our own version for a while.
(cherry picked from commit 6d2493bf5d6c97bc52aa109944a7f27ee456192e)
|
|
(cherry picked from commit 64450732be8c3111360589e9f8c44eab83f449e0)
|
|
the specialized impl
(cherry picked from commit 4b188d9d667dfcc7ba4caf95e56cbb3a6697f292)
|
|
(cherry picked from commit 1653a2d34a7f841f15b0704c7ce07c74dee2bada)
|
|
[beta] backports and stage0 bump
- Bump stage0 to 1.79.0
- Do not define opaque types when selecting impls #126258
- Remove failing GUI test to stop blocking CI until it is fixed #126445
r? cuviper
|
|
(cherry picked from commit 9e466d33613105b678fcb461df01b6dbc7cb179e)
|
|
(cherry picked from commit 03fa9b807379dbce92b346b489acecff6082e283)
|
|
opaque types."
This reverts commit 29a630eb72ffb94c3708947afae1e948ad3cb189.
(cherry picked from commit 6cca6da1265b9bede368f34da6be42057adc9834)
|
|
(cherry picked from commit fe55c0091db4654ad0185831aa3dd110e5e6cd73)
|
|
|
|
[beta] Ensure self-contained linker is only enabled on dev/nightly
It seems the self-contained linker is enabled on beta. Let's fix that.
```console
$ cargo clean && cargo +beta build && readelf -p .comment target/debug/helloworld
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
String dump of section '.comment':
[ 0] Linker: LLD 18.1.7
[ 14] GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
[ 3f] rustc version 1.80.0-beta.1 (75ac3b633 2024-06-10)
```
I will open a PR to fix it on master as well, right after I test CI's behavior on beta.
|
|
|
|
|
|
[beta] Prepare Rust 1.80.0
r? `@ghost`
|
|
|
|
|
|
|
|
Rollup of 11 pull requests
Successful merges:
- #124012 (Stabilize `binary_heap_as_slice`)
- #124214 (Parse unsafe attributes)
- #125572 (Detect pub structs never constructed and unused associated constants)
- #125781 (prefer `compile::stream_cargo` for building tools)
- #126030 (Update `./x fmt` command in library/std/src/sys/pal/windows/c/README.md)
- #126047 (Simplify the rayon calls in the installer)
- #126052 (More `rustc_parse` cleanups)
- #126077 (Revert "Use the HIR instead of mir_keys for determining whether something will have a MIR body.")
- #126089 (Stabilize Option::take_if)
- #126112 (Clean up source root in run-make tests)
- #126119 (Improve docs for using custom paths with `--emit`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Improve docs for using custom paths with `--emit`
Recently I found myself concluding that this feature didn't exist (https://github.com/rust-lang/rust/pull/126111#discussion_r1630707215), despite having read the documentation, because it was hidden away in the middle of a paragraph full of other information.
Giving this documentation more space of its own should make it easier to find.
|
|
Clean up source root in run-make tests
The name `S` isn't exactly the most descriptive, and we also shouldn't need to pass it when building (actually I think that most of the env. vars that we pass to `cargo` here are probably not really needed).
Related issue: https://github.com/rust-lang/rust/issues/126071
r? ```@jieyouxu```
|
|
Stabilize Option::take_if
Closes #98934
ed: FCP complete in https://github.com/rust-lang/rust/issues/98934#issuecomment-2104627082
|
|
Revert "Use the HIR instead of mir_keys for determining whether something will have a MIR body."
This reverts commit e5cba17b84bf7bf755686e8bb36aa3775ef53f77.
turns out SMIR still needs it (https://github.com/model-checking/kani/issues/3218). I'll create a full plan and MCP for what I intended this to be a part of. Maybe my plan is nonsense anyway.
|
|
More `rustc_parse` cleanups
Following on from #125815.
r? `@spastorino`
|
|
Simplify the rayon calls in the installer
Rayon's `try_for_each` makes the `CombinedEncoder` a lot simpler.
|
|
Update `./x fmt` command in library/std/src/sys/pal/windows/c/README.md
`./x fmt` no longer accepts paths so the command in the readme won't work.
|
|
prefer `compile::stream_cargo` for building tools
Previously, we were running bare commands for `ToolBuild` step and were unable to utilize some of the flags which are already handled by `compile::stream_cargo`.
This change makes `ToolBuild` to use `compile::stream_cargo`, allowing us to benefit from the flags supported by the bootstrap cargo.
Resolves #125666
|
|
Detect pub structs never constructed and unused associated constants
<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.
This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using
r? <reviewer name>
-->
Lints never constructed public structs.
If we don't provide public methods to construct public structs with private fields, and don't construct them in the local crate. They would be never constructed. So that we can detect such public structs.
---
Update:
Also lints unused associated constants in traits.
|
|
Parse unsafe attributes
Initial parse implementation for #123757
This is the initial work to parse unsafe attributes, which is represented as an extra `unsafety` field in `MetaItem` and `AttrItem`. There's two areas in the code where it appears that parsing is done manually and not using the parser stuff, and I'm not sure how I'm supposed to thread the change there.
|
|
Stabilize `binary_heap_as_slice`
This PR stabilizes `binary_heap_as_slice`:
```rust
// std::collections::BinaryHeap
impl BinaryHeap<T> {
pub fn as_slice(&self) -> &[T]
}
```
<br>
Tracking issue: https://github.com/rust-lang/rust/issues/83659.
Implementation PR: https://github.com/rust-lang/rust/pull/82331.
FCPs already completed in the tracking issue.
Closes https://github.com/rust-lang/rust/issues/83659.
r? libs-api
|
|
rustdoc: Refactor doctest collection and running code
This code previously had a quite confusing structure, mixing the collection,
processing, and running of doctests with multiple layers of indirection. There
are also many cases where tons of parameters are passed to functions with little
typing information (e.g., booleans or strings are often used).
As a result, the source of bugs is obfuscated (e.g. #81070) and large changes
(e.g. #123974) become unnecessarily complicated. This PR is a first step to try
to simplify the code and make it easier to follow and less bug-prone.
r? `@GuillaumeGomez`
|