8 个版本

0.2.7 2024年6月18日
0.2.6 2023年2月12日
0.2.5 2023年1月27日
0.2.3 2022年6月13日
0.2.0 2021年6月26日

#429 in Rust 模式


用于 4 个 crate (3 直接)

MIT/Apache

12KB
189

cfg-iif

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

用于定义 #[cfg] if-else 函数的宏。

该 crate 提供的宏。与 cfg_if 不同,cfg_iif 可以用作函数,并可以在函数中使用。

特性

  • 最低支持 rustc 1.56.1 (59eed8a2a 2021-11-01)

示例

示例 1: #[cfg()]

  • a_iif 在编译时操作系统为 Unix 时为 "unix"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(#[cfg(Unix)] { "unix" } else { "not unix" });
  • a_iif 在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(#[cfg(feature = "has_abc")] { "abc" } else { "not abc" });
  • a_iif 在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let mut a_iif = "";
cfg_iif!(
    #[cfg(feature = "has_abc")]
    {
        a_iif = "abc";
    }
);

示例 2: 简化的 cargo fmt

  • a_iif 在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(feature = "has_abc" { "abc" } else { "not abc" });
  • a_iif 在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let mut a_iif = "";
cfg_iif!(feature = "has_abc" {
    a_iif = "abc";
});

文档

变更日志

此 crate 的变更日志在此。

许可证

此项目根据您的选择受以下其中一项许可证的约束

无运行时依赖

特性