Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #11675 - ehuss:z-features-behavior, r=epage
Add more guidance on how to implement unstable features This adds some clarification around how unstable features should be introduced, particularly when interacting with global config settings that may be read by older releases. Note that the current set of unstable features violates some of these guidelines, and may deserve some attention in fixing up: * `-Z profile-rustflags`: it is an error if `rustflags` is found in `config.toml`. This could potentially make it awkward to stabilize if the user wants to place rustflags in their global config. I think that may be rare, though I can imagine some users wanting `-Ctarget-cpu=native` or similar. * `-Z codegen-backend`: it is an error if `codegen-backend` is found in `config.toml`. I'm not sure about the likelihood of users setting this globally, but I could imagine people might want to opt-in to cranelift. * `codegen-backend` does *not* require `cargo-features` in `Cargo.toml`, but it probably should since it is new syntax. * `-Z bindeps` does *not* require `cargo-features` in `Cargo.toml`, but it probably should since it is new syntax. I understand requiring both `cargo-features` and `-Z` is awkward, but each has independent reasons for being needed.
- Loading branch information