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
49
50
51
52
53
54
55
56
57
58
59
60
61
//! The matchers provided by this crate.
//!
//! This module provides the underlying matcher implementations for the matcher functions exported
//! at the crate root. For example, this module provides [`EqualMatcher`], which is used to
//! implement [`equal`].
//!
//! If you're just writing tests and not writing custom matchers or formatters, you don't need
//! anything in this module.
//!
//! If you want to change the formatting of one of the provided matchers, you can re-use the matcher
//! implementation in this module and pair it with your own custom formatter.
//!
//! See [Writing Custom Formatters][crate::docs::writing_formatters] to learn how to change the
//! formatting of the provided matchers.
//!
//! See [Writing Custom Matchers][crate::docs::writing_matchers] to learn how to implement your own
//! matchers like the ones in this module.
//!
//! [`EqualMatcher`]: crate::matchers::equal::EqualMatcher
//! [`equal`]: crate::equal
/// Matchers for working with booleans.
/// Matchers for working with collections.
/// Combinator matchers for composing other matchers.
/// Matchers for working with `Default` values.
/// Matchers that generate diffs between values.
/// Matchers for comparing if two values are equal.
/// Matchers for making assertions about struct fields.
/// Matchers for working with files.
/// Matchers that map values in a matcher pipeline.
/// Matchers that invert other matchers.
/// Matchers for working with numeric values.
/// Matchers for working with `Option` values.
/// Matchers for making assertions about the ordering of values.
/// Matchers for making assertions using patterns.
/// Matchers for working with `Result` values.
/// Matchers for working with strings.
/// Matchers for working with time.
pub use ;