Skip to content
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

Rename cfg_match! to cfg_select! #137198

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ index 1e336bf..35e6f54 100644
@@ -2,5 +2,4 @@
// tidy-alphabetical-start
-#![cfg_attr(target_has_atomic = "128", feature(integer_atomics))]
#![cfg_attr(test, feature(cfg_match))]
#![cfg_attr(test, feature(cfg_select))]
#![feature(alloc_layout_extra)]
#![feature(array_chunks)]
diff --git a/tests/atomic.rs b/tests/atomic.rs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ index a4a7946..ecfe43f 100644
// tidy-alphabetical-start
+#![cfg(test)]
#![cfg_attr(target_has_atomic = "128", feature(integer_atomics))]
#![cfg_attr(test, feature(cfg_match))]
#![cfg_attr(test, feature(cfg_select))]
#![feature(alloc_layout_extra)]
--
2.47.1
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_data_structures/src/flock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ cfg_match! {
}

#[cfg(not(bootstrap))]
cfg_match! {
cfg_select! {
target_os = "linux" => {
mod linux;
use linux as imp;
Expand Down
3 changes: 2 additions & 1 deletion compiler/rustc_data_structures/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
#![allow(internal_features)]
#![allow(rustc::default_hash_types)]
#![allow(rustc::potential_query_instability)]
#![cfg_attr(bootstrap, feature(cfg_match))]
#![cfg_attr(not(bootstrap), feature(cfg_select))]
#![deny(unsafe_op_in_unsafe_fn)]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![doc(rust_logo)]
Expand All @@ -19,7 +21,6 @@
#![feature(ascii_char_variants)]
#![feature(assert_matches)]
#![feature(auto_traits)]
#![feature(cfg_match)]
#![feature(core_intrinsics)]
#![feature(dropck_eyepatch)]
#![feature(extend_one)]
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_data_structures/src/profiling.rs
Original file line number Diff line number Diff line change
Expand Up @@ -923,7 +923,7 @@ cfg_match! {
}

#[cfg(not(bootstrap))]
cfg_match! {
cfg_select! {
windows => {
pub fn get_resident_set_size() -> Option<usize> {
use std::mem;
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_span/src/analyze_source_file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ cfg_match! {
}

#[cfg(not(bootstrap))]
cfg_match! {
cfg_select! {
any(target_arch = "x86", target_arch = "x86_64") => {
fn analyze_source_file_dispatch(
src: &str,
Expand Down
3 changes: 2 additions & 1 deletion compiler/rustc_span/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@

// tidy-alphabetical-start
#![allow(internal_features)]
#![cfg_attr(bootstrap, feature(cfg_match))]
#![cfg_attr(not(bootstrap), feature(cfg_select))]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![doc(rust_logo)]
#![feature(array_windows)]
#![feature(cfg_match)]
#![feature(core_io_borrowed_buf)]
#![feature(hash_set_entry)]
#![feature(if_let_guard)]
Expand Down
4 changes: 4 additions & 0 deletions library/core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,12 @@ pub mod autodiff {
#[unstable(feature = "contracts", issue = "128044")]
pub mod contracts;

#[cfg(bootstrap)]
#[unstable(feature = "cfg_match", issue = "115585")]
pub use crate::macros::cfg_match;
#[cfg(not(bootstrap))]
#[unstable(feature = "cfg_select", issue = "115585")]
pub use crate::macros::cfg_select;

#[macro_use]
mod internal_macros;
Expand Down
20 changes: 10 additions & 10 deletions library/core/src/macros/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,9 @@ pub macro cfg_match {
/// # Example
///
/// ```
/// #![feature(cfg_match)]
/// #![feature(cfg_select)]
///
/// cfg_match! {
/// cfg_select! {
/// unix => {
/// fn foo() { /* unix specific functionality */ }
/// }
Expand All @@ -317,19 +317,19 @@ pub macro cfg_match {
/// If desired, it is possible to return expressions through the use of surrounding braces:
///
/// ```
/// #![feature(cfg_match)]
/// #![feature(cfg_select)]
///
/// let _some_string = cfg_match! {{
/// let _some_string = cfg_select! {{
/// unix => { "With great power comes great electricity bills" }
/// _ => { "Behind every successful diet is an unwatched pizza" }
/// }};
/// ```
#[cfg(not(bootstrap))]
#[unstable(feature = "cfg_match", issue = "115585")]
#[rustc_diagnostic_item = "cfg_match"]
pub macro cfg_match {
#[unstable(feature = "cfg_select", issue = "115585")]
#[rustc_diagnostic_item = "cfg_select"]
pub macro cfg_select {
({ $($tt:tt)* }) => {{
cfg_match! { $($tt)* }
cfg_select! { $($tt)* }
}},
(_ => { $($output:tt)* }) => {
$($output)*
Expand All @@ -339,10 +339,10 @@ pub macro cfg_match {
$($( $rest:tt )+)?
) => {
#[cfg($cfg)]
cfg_match! { _ => $output }
cfg_select! { _ => $output }
$(
#[cfg(not($cfg))]
cfg_match! { $($rest)+ }
cfg_select! { $($rest)+ }
)?
},
}
Expand Down
2 changes: 1 addition & 1 deletion library/coretests/tests/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// tidy-alphabetical-start
#![cfg_attr(target_has_atomic = "128", feature(integer_atomics))]
#![cfg_attr(test, feature(cfg_match))]
#![cfg_attr(test, feature(cfg_select))]
#![feature(alloc_layout_extra)]
#![feature(array_chunks)]
#![feature(array_ptr_get)]
Expand Down
42 changes: 21 additions & 21 deletions library/coretests/tests/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ trait Trait {
struct Struct;

impl Trait for Struct {
cfg_match! {
cfg_select! {
feature = "blah" => {
fn blah(&self) {
unimplemented!();
Expand Down Expand Up @@ -45,22 +45,22 @@ fn matches_leading_pipe() {
}

#[test]
fn cfg_match_basic() {
cfg_match! {
fn cfg_select_basic() {
cfg_select! {
target_pointer_width = "64" => { fn f0_() -> bool { true }}
}

cfg_match! {
cfg_select! {
unix => { fn f1_() -> bool { true } }
any(target_os = "macos", target_os = "linux") => { fn f1_() -> bool { false }}
}

cfg_match! {
cfg_select! {
target_pointer_width = "32" => { fn f2_() -> bool { false } }
target_pointer_width = "64" => { fn f2_() -> bool { true } }
}

cfg_match! {
cfg_select! {
target_pointer_width = "16" => { fn f3_() -> i32 { 1 } }
_ => { fn f3_() -> i32 { 2 }}
}
Expand All @@ -81,8 +81,8 @@ fn cfg_match_basic() {
}

#[test]
fn cfg_match_debug_assertions() {
cfg_match! {
fn cfg_select_debug_assertions() {
cfg_select! {
debug_assertions => {
assert!(cfg!(debug_assertions));
assert_eq!(4, 2+2);
Expand All @@ -96,8 +96,8 @@ fn cfg_match_debug_assertions() {

#[cfg(target_pointer_width = "64")]
#[test]
fn cfg_match_no_duplication_on_64() {
cfg_match! {
fn cfg_select_no_duplication_on_64() {
cfg_select! {
windows => {
fn foo() {}
}
Expand All @@ -112,34 +112,34 @@ fn cfg_match_no_duplication_on_64() {
}

#[test]
fn cfg_match_options() {
cfg_match! {
fn cfg_select_options() {
cfg_select! {
test => {
use core::option::Option as Option2;
fn works1() -> Option2<u32> { Some(1) }
}
_ => { fn works1() -> Option<u32> { None } }
}

cfg_match! {
cfg_select! {
feature = "foo" => { fn works2() -> bool { false } }
test => { fn works2() -> bool { true } }
_ => { fn works2() -> bool { false } }
}

cfg_match! {
cfg_select! {
feature = "foo" => { fn works3() -> bool { false } }
_ => { fn works3() -> bool { true } }
}

cfg_match! {
cfg_select! {
test => {
use core::option::Option as Option3;
fn works4() -> Option3<u32> { Some(1) }
}
}

cfg_match! {
cfg_select! {
feature = "foo" => { fn works5() -> bool { false } }
test => { fn works5() -> bool { true } }
}
Expand All @@ -152,8 +152,8 @@ fn cfg_match_options() {
}

#[test]
fn cfg_match_two_functions() {
cfg_match! {
fn cfg_select_two_functions() {
cfg_select! {
target_pointer_width = "64" => {
fn foo1() {}
fn bar1() {}
Expand All @@ -177,7 +177,7 @@ fn cfg_match_two_functions() {
}

fn _accepts_expressions() -> i32 {
cfg_match! {
cfg_select! {
unix => { 1 }
_ => { 2 }
}
Expand All @@ -188,14 +188,14 @@ fn _accepts_expressions() -> i32 {
fn _allows_stmt_expr_attributes() {
let one = 1;
let two = 2;
cfg_match! {
cfg_select! {
unix => { one * two; }
_ => { one + two; }
}
}

fn _expression() {
let _ = cfg_match!({
let _ = cfg_select!({
windows => {
" XP"
}
Expand Down
4 changes: 4 additions & 0 deletions library/std/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -690,8 +690,12 @@ mod panicking;
#[allow(dead_code, unused_attributes, fuzzy_provenance_casts, unsafe_op_in_unsafe_fn)]
mod backtrace_rs;

#[cfg(bootstrap)]
#[unstable(feature = "cfg_match", issue = "115585")]
pub use core::cfg_match;
#[cfg(not(bootstrap))]
#[unstable(feature = "cfg_select", issue = "115585")]
pub use core::cfg_select;
#[unstable(
feature = "concat_bytes",
issue = "87555",
Expand Down
Loading