2 个版本

0.1.1 2021 年 9 月 18 日
0.1.0 2021 年 9 月 18 日

#2892Rust 模式

Download history 1/week @ 2024-03-17 32/week @ 2024-03-31 1/week @ 2024-04-07 24/week @ 2024-04-14 70/week @ 2024-04-21 41/week @ 2024-04-28 23/week @ 2024-05-05 28/week @ 2024-05-12 9/week @ 2024-05-19 25/week @ 2024-05-26 19/week @ 2024-06-02 10/week @ 2024-06-09 56/week @ 2024-06-16 74/week @ 2024-06-23 4/week @ 2024-06-30

每月 146 次下载
用于 4 个 crate (3 个直接)

Apache-2.0/MIT

13KB
180

soft_assert

一组宏,如果给定条件为假,则提前返回。类似于标准库中的各种 assert

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
soft_assert = "0.1"

许可证

此项目可根据您的选择使用以下任一许可证


lib.rs:

一组与标准库中的 assert_* 宏类似的宏,但会提前返回而不是引发panic。

示例

use soft_assert::*;

fn not_twenty(x: i32) -> Option<i32> {
    // This will return `Option::default()`, which is `None`
    soft_assert_ne!(x, 20);
    Some(x)
}

fn double_if_greater_than_5(x: i32) -> i32 {
    // But here we don't want to return `i32::default()`,
    // so we specify a return value.
    soft_assert!(x > 5, x);
    x * 2
}

fn main() {
    assert!(not_twenty(10).is_some());   
    assert!(not_twenty(20).is_none());   

    let doubled = double_if_greater_than_5(13);
    assert_eq!(doubled, 26);    
    let not_doubled = double_if_greater_than_5(2);
    assert_eq!(not_doubled, 2);   
}

此crate是 #![no_std]

没有运行时依赖