-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Tracking issue for RFC 3695: Allow boolean literals as cfg predicates #131204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Call for testingThis is call for testing regarding RFC3695: Allow boolean literals as cfg predicates. RFC 3695 adds support for Testing instructionsRequires:
Feedback
@rustbot label +call-for-testing |
Hi. This will appear in This Week in Rust issue #581 under "Call for Testing". You may remove the |
With a quick review:
[poc.rs:4:5] cfg!(true) = true
[poc.rs:5:5] cfg!(false) = false
[poc.rs:6:5] cfg!(r#true) = false
[poc.rs:7:5] cfg!(r#false) = false |
This comment has been minimized.
This comment has been minimized.
Works well here, behaving exactly as expected. |
This comment has been minimized.
This comment has been minimized.
Reference update at rust-lang/reference#1762 . |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@traviscross Good catch, yes, the FCP belongs on the PR. |
Rollup merge of rust-lang#138632 - clubby789:stabilize-cfg-boolean-lit, r=davidtwco,Urgau,traviscross Stabilize `cfg_boolean_literals` Closes rust-lang#131204 `@rustbot` labels +T-lang +I-lang-nominated This will end up conflicting with the test in rust-lang#138293 so whichever doesn't land first will need updating -- # Stabilization Report ## General design ### What is the RFC for this feature and what changes have occurred to the user-facing design since the RFC was finalized? [RFC 3695](rust-lang/rfcs#3695), none. ### What behavior are we committing to that has been controversial? Summarize the major arguments pro/con. None ### Are there extensions to this feature that remain unstable? How do we know that we are not accidentally committing to those? None ## Has a call-for-testing period been conducted? If so, what feedback was received? Yes; only positive feedback was received. ## Implementation quality ### Summarize the major parts of the implementation and provide links into the code (or to PRs) Implemented in [rust-lang#131034](rust-lang#131034). ### Summarize existing test coverage of this feature - [Basic usage, including `#[cfg()]`, `cfg!()` and `#[cfg_attr()]`](https://github.com/rust-lang/rust/blob/6d71251cf9e40326461f90f8ff9a7024706aea87/tests/ui/cfg/true-false.rs) - [`--cfg=true/false` on the command line being accessible via `r#true/r#false`](https://github.com/rust-lang/rust/blob/6d71251cf9e40326461f90f8ff9a7024706aea87/tests/ui/cfg/raw-true-false.rs) - [Interaction with the unstable `#[doc(cfg(..))]` feature](https://github.com/rust-lang/rust/tree/6d71251/tests/rustdoc-ui/cfg-boolean-literal.rs) - [Denying `--check-cfg=cfg(true/false)`](https://github.com/rust-lang/rust/tree/6d71251/tests/ui/check-cfg/invalid-arguments.rs) - Ensuring `--cfg false` on the command line doesn't change the meaning of `cfg(false)`: `tests/ui/cfg/cmdline-false.rs` - Ensuring both `cfg(true)` and `cfg(false)` on the same item result in it being disabled: `tests/ui/cfg/both-true-false.rs` ### What outstanding bugs in the issue tracker involve this feature? Are they stabilization-blocking? The above mentioned issue; it should not block as it interacts with another unstable feature. ### What FIXMEs are still in the code for that feature and why is it ok to leave them there? None ### Summarize contributors to the feature by name for recognition and assuredness that people involved in the feature agree with stabilization - `@clubby789` (RFC) - `@Urgau` (Implementation in rustc) ### Which tools need to be adjusted to support this feature. Has this work been done? `rustdoc`'s unstable`#[doc(cfg(..)]` has been updated to respect it. `cargo` has been updated with a forward compatibility lint to enable supporting it in cargo once stabilized. ## Type system and execution rules ### What updates are needed to the reference/specification? (link to PRs when they exist) A few lines to be added to the reference for configuration predicates, specified in the RFC.
This is a tracking issue for the RFC "Allow boolean literals as cfg predicates" (rust-lang/rfcs/#3695).
The feature gate for the issue is
#![feature(cfg_boolean_literals)]
.About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Discussion comments will get marked as off-topic or deleted.
Repeated discussions on the tracking issue may lead to the tracking issue getting locked.
Steps
cfg
predicates rfcs#3695cfg(true)
andcfg(false)
to conditional compilation (RFC 3695) reference#1762cfg_boolean_literals
#138632Unresolved Questions
None.
Related
The text was updated successfully, but these errors were encountered: