Rollup of 17 pull requests
Successful merges:
- rust-lang/rust#140591 (Fix malformed suggestion for E0061 when method is a macro token in macro context)
- rust-lang/rust#141536 (Improve `ambiguous_wide_pointer_comparisons` lint compare diagnostics)
- rust-lang/rust#141552 (Pull out dedicated `cfg_version` syntax test from feature gate test)
- rust-lang/rust#141556 (bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2)
- rust-lang/rust#141563 (Remove out-of-date `noop_*` names.)
- rust-lang/rust#141568 (dist: make sure llvm-project submodule is present)
- rust-lang/rust#141580 (Use more detailed spans in dyn compat errors within bodies)
- rust-lang/rust#141582 (intrinsics, ScalarInt: minor cleanup)
- rust-lang/rust#141584 (Support `opaque_types_defined_by` for `SyntheticCoroutineBody`)
- rust-lang/rust#141587 (Add missing edition directives for async-await tests)
- rust-lang/rust#141594 (Add `generic_arg_infer` test)
- rust-lang/rust#141596 (rustc book: fix erratic sentence by making it more simple)
- rust-lang/rust#141599 (Remove an unnecessary use of `Box::into_inner`.)
- rust-lang/rust#141611 (Update mdbook to 0.4.51)
- rust-lang/rust#141616 (Remove spastorino from vacations)
- rust-lang/rust#141623 (use custom types to clarify arguments to `emit_ptr_va_arg`)
- rust-lang/rust#141635 (further dedup `WalkItemKind` for `mut_visit` and `visit`)
r? `@ghost`
`@rustbot` modify labels: rollup
dist: make sure llvm-project submodule is present
Zero-config `x install` fails when bootstrap tries to copy files from the LLVM submodule because it's not properly initialized/handled. This diff handles that.
Fixes https://github.com/rust-lang/rust/issues/141393
bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2
Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2 configures them to be /X. Regardless of configuration, drives are always accessible as /proc/cygdrive/X, so use that.
If there are other shells on Windows that are supported and use /X style paths, perhaps something more complicated needs to be done.
r? `@jieyouxu`
`@Berrysoft` `@mati865`
Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2
configures them to be /X. Regardless of configuration, drives are
always accessible as /proc/cygdrive/X, so use that.
interpret: add allocation parameters to `AllocBytes`
Necessary for a better implementation of [rust-lang/miri#4343](https://github.com/rust-lang/miri/pull/4343). Also included here is the code from that PR, adapted to this new interface for the sake of example and so that CI can run on them; the Miri changes can be reverted and merged separately, though.
r? `@RalfJung`
Properly analyze captures from unsafe binders
We need to represent the unsafe binder unwrap as an adjustment in HIR. Pretty straightforward b/c we already represent it as a projection elem in MIR.
Fixes#141418Fixes#141417
r? oli-obk
interpret: do not force_allocate all return places
A while ago I cleaned up our `PlaceTy` a little, but as a side-effect of that, return places had to always be force-allocated. That turns out to cause quite a few extra allocations, and for a project we are doing where we marry Miri with a model checker, that means a lot of extra work -- local variables are just so much easier to reason about than allocations.
So, this PR brings back the ability to have the return place be just a local of the caller. To make this work cleanly I had to rework stack pop handling a bit, which also changes the output of Miri in some cases as the span for errors occurring during a particular phase of stack pop changed.
With these changes, a no-std binary with a function of functions that just take and return scalar types and that uses no pointers now does not move *any* local variables into memory. :)
r? `@oli-obk`
[rustdoc] Unify type aliases rendering with other ADT
Fixes#140739.
Better reviewed one commit at a time.
Just one thing I'm wondering: should we also render non-`repr` attributes? If so, I wonder if we shouldn't simply change `clean::TypeAlias` to contain the other ADT directly (`Struct`, `Enum` and `Union`) and remove the `TypeAlias::generics` field.
Can be done in a follow-up too.
cc ``@camelid``
r? ``@notriddle``
bootstrap: clippy: set TESTNAME based on given paths
This addresses #104200 by setting the TESTNAME environment variable automatically based on the paths from run configs, marking a selected set of UI tests to be run.
Note that this does not filter out other unit tests using #[test].
This addresses issue 104200 by setting the TESTNAME environment
variable automatically based on the paths from run configs,
marking a selected set of UI tests to be run.
Note that this does not filter out other unit tests using #[test].
Cleanup CodegenFnAttrFlags
- Rename `USED` to `USED_COMPILER` to better reflect its behavior.
- Reorder some items to group the used and allocator flags together
- Renumber them without gaps
rename internal panicking::try to catch_unwind
The public function is called `catch_unwind`, the intrinsic at some point got renamed to `catch_unwind` -- there's no reason to have the internal implementation of this still be called `try`, so let's rename it to match the rest.
- Rename `USED` to `USED_COMPILER` to better reflect its behavior.
- Reorder some items to group the used and allocator flags together
- Renumber them without gaps
document some -Z flags as living in the rustc-dev-guide
i was looking for these but didn't find them at first; add a breadcrumb so people know where to look
Rollup of 7 pull requests
Successful merges:
- #141405 (GetUserProfileDirectoryW is now documented to always store the size)
- #141427 (Disable `triagebot`'s `glacier` handler)
- #141429 (Dont walk into unsafe binders when emiting error for non-structural type match)
- #141438 (Do not try to confirm non-dyn compatible method)
- #141444 (Improve CONTRIBUTING.md grammar and clarity)
- #141446 (Add 2nd Solaris target maintainer)
- #141456 (Suggest correct `version("..")` predicate syntax in check-cfg)
r? `@ghost`
`@rustbot` modify labels: rollup
GetUserProfileDirectoryW is now documented to always store the size
Update to match https://github.com/MicrosoftDocs/sdk-api/pull/1810
Also fix a bug in the Miri implementation while I am starting at that code...
r? ```@ChrisDenton```
Fixes#141254