mGCA: Support array expression as direct const arguments
tracking issue: rust-lang/rust#132980resolve: rust-lang/rust#150612
Support array expression as direct const arguments (e. g. [1, 2, N]) in min_generic_const_args.
todo:
* [x] Rebase another mGCA PR
* [x] Add more test case
* [x] Modify clippy code
Remove `S-waiting-on-bors` after a PR is merged
I just noticed that we have 50k+ PRs marked as waiting on bors, even though they have been merged, lol.
std: Fix size returned by UEFI tcp4 read operations
The read and read_vectored methods were returning the length of the input buffer, rather than the number of bytes actually read. Fix by changing read_inner to return the correct value, and have both read and read_vectored return that.
Use updated indexes to build reverse map for delegation generics
Fixesrust-lang/rust#150673.
This was a bug that built the `param_def_id_to_index` map with indexes before the new generics were renumbered.
r? @petrochenkov
rustc_parse_format: improve diagnostics for unsupported python numeric grouping
Detect Python-style numeric grouping syntax in format strings (e.g. `{x:,}`)
and emit a clear diagnostic explaining that it is not supported in Rust.
This helps users coming from Python understand the error without exposing
the full set of valid Rust format specifiers.
Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`
I noticed that the only point of direct contact between the `rustc_mir_transform` and `rustc_mir_build` crates is a single `build_mir` function, which could easily be changed to a hook function instead.
By making that function a hook, we can make `rustc_mir_transform` no longer have a dependency on `rustc_mir_build`, allowing them to be built/rebuilt independently. That should hopefully allow slightly more parallelism in clean builds and incremental rebuilds of the compiler.
I don't think it is necessary anymore. As I understand it from issue
39504 the original problem was that rustbuild changed a hardlink in the
cargo build dir to point to copy in the sysroot while cargo may have
hardlinked it to the original first. I don't think this happens anymore
and as such this workaround is no longer necessary.
Use the old homu bors e-mail address again
Now that new bors knows how to use the old homu e-mail address (https://github.com/rust-lang/bors/pull/614), we can revert to the old address. I modified the code to keep compatibility with both addresses, so that everything should still work for every merged commit in the past few days. In a few weeks/months, we could remove the temporary bors e-mail address, as at that point no one will likely care about these few merged commits anymore.
Should not be merged until https://github.com/rust-lang/bors/pull/614 is deployed, although the current version in `main` should already mostly work with both addresses, except for CI postprocessing statistics.
Should be backported.
Removes the double subject "it" in the safety documentation of
`core::ptr::split_at_mut` for raw slice pointers, as it does not refer
to anything.
Reported-by: Johnathan Van Why <jrvanwhy@betterbytes.org>
build-manifest: Add `rust-mingw` also as extension for "pc-windows-gnu" hosts.
This should enable `rustup component add --target aarch64-pc-windows-gnullvm rust-mingw` when running an `x86_64-pc-windows-gnullvm` toolchain (and vice-versa).
Which itself enables proper cross-compiling of Windows ARM64 binaries on a Windows x64 host without using commercial MSVC.
CC @mati865
Rollup of 9 pull requests
Successful merges:
- rust-lang/rust#147938 (Add const cloning of slices and tests)
- rust-lang/rust#149718 (Add freeze file times on Windows)
- rust-lang/rust#150438 (Remove mentions of debootstrap and chroots from the m68k-unknown-none-elf platform support doc)
- rust-lang/rust#150790 (feat: invisible character help string)
- rust-lang/rust#150906 (Simplify `#[eii]` macro using methods on ecx)
- rust-lang/rust#150938 (Port `#[collapse_debuginfo]` to the new attribute parsing system)
- rust-lang/rust#150953 (std: sys: fs: uefi: Implement copy)
- rust-lang/rust#150964 (Completely list all unparsed attributes)
- rust-lang/rust#150975 (ui: add test for normalizing const projections with assoc const equality)
Failed merges:
- rust-lang/rust#150972 (Rename EII attributes slightly (being consistent in naming things foreign items, not extern items))
r? @ghost
The read and read_vectored methods were returning the length of the
input buffer, rather than the number of bytes actually read. Fix by
changing read_inner to return the correct value, and have both read and
read_vectored return that.
ui: add test for normalizing const projections with assoc const equality
This adds a UI test to associated-const-bindings (created new) directory to ensure that constant projections with associated const equality bounds are correctly normalized.
File added:
- `tests/ui/const-generics/associated-const-bindings/normalization-via-param-env.rs`
r? @fmease
r? @camelid
Fixesrust-lang/rust#120905
std: sys: fs: uefi: Implement copy
- Using the implementation from sys::fs::common since ther is no built-in copy implementation in UEFI.
- Tested with OVMF on QEMU.
@rustbot label +O-UEFI
Port `#[collapse_debuginfo]` to the new attribute parsing system
Tracking issue: https://github.com/rust-lang/rust/issues/131229
Felt like doing one again, has been a while :3
r? @jdonszelmann
feat: invisible character help string
I was playing around with zero width spaces in different programming languages and thought that this error message could be more helpful. Hopefully it's a good first contribution! :)
Remove mentions of debootstrap and chroots from the m68k-unknown-none-elf platform support doc
I left the mentions of qemu-user-static as it's one of the only easily accessible emulators for m68k, even though you would have to write your own `_start` and such. The C toolchain that is mentioned is also the easiest way I've found so far to get a linker, which is still needed unless I'm missing something.
closesrust-lang/rust#150414
r? @Noratrieb