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
#[macro_export]
macro_rules! assert_msg {
($envelope:expr, $pat:pat) => {{
use $crate::_priv::{AnyMessageBorrowed, EnvelopeBorrowed};
let envelope = &$envelope;
let msg = envelope.unpack_regular().downcast2();
#[allow(unreachable_patterns)]
match &msg {
&$pat => {}
_ => panic!(
"\na message doesn't match a pattern\npattern: {}\nmessage: {:#?}\n",
stringify!($pat),
msg,
),
}
}};
}
#[macro_export]
macro_rules! assert_msg_eq {
($envelope:expr, $expected:expr) => {{
use $crate::_priv::{AnyMessageBorrowed, EnvelopeBorrowed};
let envelope = &$envelope;
let actual = envelope.unpack_regular().downcast2();
let expected = &$expected;
fn unify<T>(_rhs: &T, _lhs: &T) {}
unify(actual, expected);
assert_eq!(actual, expected);
}};
}