一个类似 if/elif 的宏,用于 Rust #[cfg] 语句
[!警告] 此框已被
cfg_select!宏所取代,该宏是稳定的 由于 Rust 1.95.0 使用了略有不同的语法。除非出现故障, 安全修复,此箱子将不再更新。 一个宏,用于根据大量 #[cfg] 定义一个项目 参数。结构类似于 if-else 链,第一个匹配的分支就是 被发射的项目。
cfg-if = "1.0"cfg_if::cfg_if! {
if #[cfg(unix)] {
fn foo() { /* unix specific functionality */ }
} else if #[cfg(target_pointer_width = "32")] {
fn foo() { /* non-unix, 32-bit functionality */ }
} else {
fn foo() { /* fallback implementation */ }
}
}
fn main() {
foo();
}上面的 cfg_if! 块会扩展为:
#[cfg(unix)]
fn foo() { /* unix specific functionality */ }
#[cfg(all(target_pointer_width = "32", not(unix)))]
fn foo() { /* non-unix, 32-bit functionality */ }
#[cfg(not(any(unix, target_pointer_width = "32")))]
fn foo() { /* fallback implementation */ }本项目的许可证为以下两种之一
除非您明确声明否则,您意图提交的任何贡献,以 Apache-2.0 许可证定义,将被双重授权如上所述,不附加任何其他条款或条件。
Documentation [dependencies]
暂无开放 Issues,或尚未同步最近议题。