1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
pub fn is_one(num: &i32) -> bool {
*num == 1
}
pub fn one() -> i32 { 1 }
pub fn is_one_u32(num: &u32) -> bool {
*num == 1
}
pub fn one_u32() -> u32 { 1 }
pub fn is_default<T: Default + Eq>(val: &T) -> bool {
val.eq(&T::default())
}
#[cfg(test)]
mod test {
use crate::Instance;
use super::*;
#[test]
fn test() {
assert_eq!(is_default(&0), true);
assert_eq!(is_default(&1), false);
assert_eq!(is_default(&false), true);
assert_eq!(is_default(&true), false);
let mut ins = Instance::default();
assert_eq!(is_default(&ins), true);
ins.para = "hello".to_string();
assert_eq!(is_default(&ins), false);
}
}