Make `--print=check-cfg` output compatible `--check-cfg` arguments
This PR changes significantly the output of the unstable `--print=check-cfg` option.
Specifically it removes the ad-hoc resemblance with `--print=cfg` in order to output a simplified but still compatible `--check-cfg` arguments.
The goal is to future proof the output of `--print=check-cfg` like `--check-cfg` is, and the best way to do that is to use it's syntax.
This is particularly relevant for [RFC3905](https://github.com/rust-lang/rfcs/pull/3905) which wants to introduce a new predicate: `version(...)`.
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
Remove inactive nvptx maintainer
Since I just saw the discussion in [#t-compiler > Starting to enforce Tier 2-to-3 downgrade](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Starting.20to.20enforce.20Tier.202-to-3.20downgrade/with/564788312), and I saw him pinged on PRs or issues. His last active open-source contributions were in early 2022: https://github.com/RDambrosio016 and IIRC he also mentioned that he had moved on.
ping @RDambrosio016 so you can confirm or correct me, if you want to chime in. I also pinged him on Zulip.
cc @kjetilkjeka who is the other maintainer and active on related issues/prs for his target.
I'd leave it open for a while, but
r? @jieyouxu
rename the `derive_{eq, clone_copy}` features to `*_internals`
Features like `derive_from` and `derive_coerce_pointee` refer to actual unstable derive macros, but the `derive_eq` and `derive_clone_copy` features are internal hacks. Rename them accordingly by adding the suffix `_internals`.
Add myself as co-maintainer for s390x-unknown-linux-musl
Having two dedicated target maintainers is a prerequisite for promoting this target to tier 2. I've been in contact with Ulrich and he's agreed to having me as a co-maintainer in preparation for a MCP to promote it to tier 2.
cc @uweigand
Ensure that static initializers are acyclic for NVPTX
NVPTX does not support cycles in static initializers (see rust-lang/rust#146787). LLVM produces an error when attempting to generate code for such constructs, like self-referential structs.
To avoid LLVM UB, we emit a post-monomorphization error on the Rust side before reaching codegen.
This is achieved by analyzing a subgraph of the "mono item graph" that only contains statics.
1. Calculate the strongly connected components (SCCs) of the graph.
2. Check for cycles (more than one node in an SCC or one node that references itself).
Having two dedicated target maintainers is a prerequisite for promoting
this target to tier 2. I've been in contact with Ulrich and he's agreed
to having me as a co-maintainer in preparation for a MCP to promote it to
tier 2.
NVPTX does not support cycles in static initializers. LLVM produces an error when attempting to codegen such constructs (like self referential structs).
To not produce LLVM UB we instead emit a post-monomorphization error on
Rust side before reaching codegen.
This is achieved by analysing a subgraph of the "mono item graph" that
only contains statics:
1. Calculate the strongly connected components (SCCs) of the graph
2. Check for cycles (more than one node in a SCC or exactly one node
which references itself)
Changed so cargo specifies the binary collector, removing the need to
link to its local binary. Clarified that the SHAs should be from the
rustc-repo, but the command should be ran in the rustc-perf repo.
Fix broken edit links in Unstable and rustc books
Updated the edit-url-template for the unstable book and the rustc book.
Fixesrust-lang/rust#150593
The "Suggest an edit" links were pointing to HEAD, which resulted in a 404. Changed these to point to main.
r? `@Kobzol`