Rollup of 16 pull requests
Successful merges:
- rust-lang/rust#136429 (GCI: At their def site, actually wfcheck the where-clause & always eval free lifetime-generic constants)
- rust-lang/rust#138139 (Emit warning while outputs is not exe and prints linkage info)
- rust-lang/rust#141104 (Test(fs): Fix `test_eq_windows_file_type` for Windows 7)
- rust-lang/rust#141477 (Path::with_extension: show that it adds an extension where one did no…)
- rust-lang/rust#141533 (clean up old rintf leftovers)
- rust-lang/rust#141612 (Call out possibility of invariant result in variance markers)
- rust-lang/rust#141638 (Use `builtin_index` instead of hand-rolling it)
- rust-lang/rust#141643 (ci: verify that codebuild jobs use ghcr.io)
- rust-lang/rust#141675 (Reorder `ast::ItemKind::{Struct,Enum,Union}` fields.)
- rust-lang/rust#141680 (replace TraitRef link memory.md)
- rust-lang/rust#141682 (interpret/allocation: Fixup type for `alloc_bytes`)
- rust-lang/rust#141683 (Handle ed2021 precise capturing of unsafe binder)
- rust-lang/rust#141684 (rustbook: Bump versions of `onig` and `onig_sys`)
- rust-lang/rust#141687 (core: unstably expose atomic_compare_exchange so stdarch can use it)
- rust-lang/rust#141690 (Add `rustc_diagnostic_item` to `sys::Mutex` methods)
- rust-lang/rust#141702 (Add eholk to compiler reviewer rotation)
r? `@ghost`
`@rustbot` modify labels: rollup
Add eholk to compiler reviewer rotation
Now that we have work queue limits on triagebot, I'm happy to share some of the review load.
r? ``@wesleywiser``
Add `rustc_diagnostic_item` to `sys::Mutex` methods
For an ongoing project for adding a concurrency model checker to Miri we need to be able to intercept locking/unlocking operations on standard library mutexes.
This PR adds diagnostic items to the relevant calls `lock`, `try_lock` and `unlock` for the `sys::Mutex` implementation on the targets we care about.
This PR also makes the internals of `pthread::Mutex` less public, to reduce the chance of anyone locking/unlocking a mutex without going through the intercepted methods.
r? ``@RalfJung``
Emit warning while outputs is not exe and prints linkage info
cc #137384
```bash
$ rustc +stage1 /dev/null --print native-static-libs --crate-type staticlib --emit metadata
warning: skipping link step due to conflict: cannot output linkage information without emitting executable
note: consider emitting executable to print link information
warning: 1 warning emitted
```
Although they are clickable in the github preview, they aren't in the actual rendered HTML on https://rustc-dev-guide.rust-lang.org/.
This commit fixes that.
Implement `advance_by` via `try_fold` for `Sized` iterators
When `try_fold` is overriden, it is usually easier for compilers to optimize.
Example difference: https://iter.godbolt.org/z/z8cEfnKro
Use the fn_span when emitting function calls for better debug info.
This especially improves the developer experience for long chains of function calls that span multiple lines, which is common with builder patterns, chains of iterator/future combinators, etc.
try-job: armhf-gnu
try-job: test-various
try-job: x86_64-msvc-1
try-job: arm-android
r? `@jieyouxu`