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
36
37
38
39
40
41
42
43
44
45
46
47
48
//! # Checking conditions with the `IsNoneOr` trait
//! The provided `is_none_or` method is a mirror to the core library's `is_some_and` method.
//! It returns `true` if the option is a [`None`] or the option is [`Some`] and the value
//! inside of it matches a predicate.
//! # Examples
//!
//! ```
//! use is_none_or::IsNoneOr;
//! let x: Option<u32> = Some(2);
//! assert_eq!(x.is_none_or(|x| x > 1), true);
//!
//! let x: Option<u32> = Some(0);
//! assert_eq!(x.is_none_or(|x| x > 1), false);
//!
//! let x: Option<u32> = None;
//! assert_eq!(x.is_none_or(|x| x > 1), true);
//! ```