#cfg #macro #proc-macro

cfg-or-panic

当条件不满足时,使用 unimplemented!() 替换函数体

3 个不稳定版本

0.2.1 2024 年 5 月 21 日
0.2.0 2023 年 9 月 19 日
0.1.1 2023 年 8 月 30 日
0.1.0 2023 年 8 月 30 日

855Rust 模式

Download history • Rust 包仓库 2457/week @ 2024-05-02 • Rust 包仓库 2937/week @ 2024-05-09 • Rust 包仓库 2935/week @ 2024-05-16 • Rust 包仓库 1918/week @ 2024-05-23 • Rust 包仓库 921/week @ 2024-05-30 • Rust 包仓库 838/week @ 2024-06-06 • Rust 包仓库 831/week @ 2024-06-13 • Rust 包仓库 637/week @ 2024-06-20 • Rust 包仓库 836/week @ 2024-06-27 • Rust 包仓库 887/week @ 2024-07-04 • Rust 包仓库 840/week @ 2024-07-11 • Rust 包仓库 552/week @ 2024-07-18 • Rust 包仓库 571/week @ 2024-07-25 • Rust 包仓库 540/week @ 2024-08-01 • Rust 包仓库 749/week @ 2024-08-08 • Rust 包仓库 812/week @ 2024-08-15 • Rust 包仓库

每月下载量 2,767

Apache-2.0

8KB
131 行(不包括注释)

#[cfg_or_panic(..)]

将函数体保持在 #[cfg(..)] 之下,或者在使用 #[cfg(not(..))] 的条件下替换为 unimplemented!()

示例

use cfg_or_panic::cfg_or_panic;

#[cfg_or_panic(feature = "foo")]
fn foo() -> i32 {
    42
}

#[test]
#[cfg_attr(not(feature = "foo"), should_panic)]
fn test() {
    assert_eq!(foo(), 42);
}

依赖关系

~250–690KB
~16K SLoC