Matthias Krüger
0de803c38d
Rollup merge of #138632 - clubby789:stabilize-cfg-boolean-lit, r=davidtwco,Urgau,traviscross
...
Stabilize `cfg_boolean_literals`
Closes #131204
`@rustbot` labels +T-lang +I-lang-nominated
This will end up conflicting with the test in #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](https://github.com/rust-lang/rfcs/pull/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 [#131034 ](https://github.com/rust-lang/rust/pull/131034 ).
### Summarize existing test coverage of this feature
- [Basic usage, including `#[cfg()]`, `cfg!()` and `#[cfg_attr()]`](6d71251cf9/tests/ui/cfg/true-false.rs )
- [`--cfg=true/false` on the command line being accessible via `r#true/r#false`](6d71251cf9/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.
2025-04-17 06:25:15 +02:00
..
2025-01-06 16:08:29 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-04-03 21:41:58 +00:00
2023-11-24 19:15:52 +01:00
2024-01-09 21:08:16 +00:00
2025-02-10 20:21:39 +00:00
2024-01-09 21:08:16 +00:00
2025-02-10 20:21:39 +00:00
2023-12-06 11:05:22 +01:00
2023-12-06 11:05:22 +01:00
2023-12-06 11:05:22 +01:00
2023-12-06 11:05:22 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-10-15 13:11:00 +02:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-12-30 14:56:21 +07:00
2025-02-10 20:21:39 +00:00
2024-07-09 07:44:17 +00:00
2024-07-09 07:44:17 +00:00
2024-02-08 08:10:43 +00:00
2024-02-08 08:10:43 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-01-06 17:58:30 +00:00
2024-02-16 20:02:50 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2024-02-16 20:02:50 +00:00
2024-12-27 19:58:16 +11:00
2025-04-06 21:41:47 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-10-30 22:12:07 +00:00
2023-10-30 22:12:07 +00:00
2024-07-17 19:08:37 +08:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2023-11-24 19:15:52 +01:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-14 11:00:30 +00:00
2025-01-06 17:58:30 +00:00
2024-02-14 11:00:30 +00:00
2025-01-06 17:58:30 +00:00
2024-02-14 11:00:30 +00:00
2025-01-06 17:58:30 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-04-11 16:41:41 +00:00
2024-07-26 14:41:56 -04:00
2025-02-21 19:32:45 +00:00
2025-02-21 19:32:45 +00:00
2025-02-21 19:32:45 +00:00
2025-02-21 19:32:45 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-01-24 02:53:15 +00:00
2025-02-10 20:21:39 +00:00
2025-01-06 16:08:29 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-01-24 02:53:15 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2025-02-26 05:11:18 +09:00
2025-02-26 05:11:18 +09:00
2025-03-30 01:32:21 +03:00
2023-12-12 17:40:53 +01:00
2025-03-30 01:32:21 +03:00
2023-12-12 17:40:53 +01:00
2023-11-24 19:15:52 +01:00
2025-03-30 01:32:21 +03:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-01-02 14:17:56 +00:00
2024-01-02 14:17:56 +00:00
2024-01-02 14:17:56 +00:00
2024-01-02 14:17:56 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2025-02-14 00:44:10 -08:00
2025-02-14 00:44:10 -08:00
2024-05-30 15:52:29 -04:00
2024-05-30 15:52:29 -04:00
2024-06-13 08:52:35 -04:00
2024-06-13 08:52:35 -04:00
2024-05-30 15:52:29 -04:00
2024-06-13 08:52:35 -04:00
2024-06-13 08:52:35 -04:00
2024-02-01 03:30:26 +00:00
2023-12-07 23:00:46 -05:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-14 11:00:30 +00:00
2024-10-29 16:26:57 +00:00
2025-04-08 23:06:31 +03:00
2023-11-24 19:15:52 +01:00
2025-02-14 00:37:23 +01:00
2025-02-14 00:37:23 +01:00
2024-02-14 11:00:30 +00:00
2024-10-29 16:26:57 +00:00
2025-04-08 23:06:31 +03:00
2025-02-14 00:37:23 +01:00
2024-02-14 11:00:30 +00:00
2024-11-12 02:08:39 +00:00
2024-02-14 11:00:30 +00:00
2024-11-12 02:08:39 +00:00
2024-02-14 11:00:30 +00:00
2024-11-12 02:08:39 +00:00
2024-11-12 02:08:39 +00:00
2024-12-07 21:29:58 +00:00
2025-04-08 23:06:31 +03:00
2024-12-07 22:18:51 +00:00
2025-03-03 23:53:42 +00:00
2025-03-03 23:53:42 +00:00
2024-10-16 13:44:56 -04:00
2024-01-19 23:55:05 +00:00
2024-01-22 17:52:36 +00:00
2024-01-19 23:55:05 +00:00
2025-02-10 20:21:39 +00:00
2025-04-09 20:26:58 +00:00
2025-04-09 20:26:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-03-01 13:48:20 +00:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-09-25 13:13:04 -04:00
2024-09-25 13:13:04 -04:00
2024-09-25 13:13:04 -04:00
2025-01-06 18:04:33 +00:00
2025-01-06 18:04:33 +00:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2023-11-24 19:15:52 +01:00
2024-02-14 11:00:30 +00:00
2024-02-14 11:00:30 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-11-23 18:54:08 +00:00
2024-11-23 18:54:08 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-01-11 09:03:26 +00:00
2024-01-11 09:03:26 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-01-02 15:34:37 -05:00
2024-04-24 22:21:15 +00:00
2024-03-03 16:30:48 -03:00
2024-03-03 16:30:48 -03:00
2023-11-24 19:15:52 +01:00
2024-12-07 21:29:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2025-04-13 21:48:53 +03:00
2025-04-13 21:48:53 +03:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-14 11:00:30 +00:00
2025-03-14 19:50:03 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-12-07 21:29:58 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-14 00:44:10 -08:00
2025-02-14 00:44:10 -08:00
2024-06-13 08:52:35 -04:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-03-11 16:32:56 +00:00
2025-03-30 02:39:19 +00:00
2023-11-24 19:15:52 +01:00
2024-03-08 20:56:25 +00:00
2024-05-30 15:52:29 -04:00
2024-05-30 15:52:29 -04:00
2024-05-30 15:52:29 -04:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-10-29 16:26:57 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-04-08 23:06:31 +03:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-01-07 16:04:14 +01:00
2024-02-16 20:02:50 +00:00
2024-11-23 18:54:08 +00:00
2024-12-11 19:53:40 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-12-30 14:56:21 +07:00
2024-02-16 20:02:50 +00:00
2025-04-08 23:06:31 +03:00
2025-01-03 02:45:29 +00:00
2024-10-29 16:26:57 +00:00
2024-03-18 16:44:12 +00:00
2024-10-29 16:26:57 +00:00
2024-02-01 03:30:26 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00