macro_rules! create_mock {
(@create_mock_struct($mock_name:ident, ()) -> ($($result:tt)*)) => { ... };
(@create_mock_struct
($mock_name:ident, (
$expect_name:ident($key:expr):
fn $method_name:ident $sig:tt;
$($tail:tt)*
)) -> ($($result:tt)*)
) => { ... };
(@create_mock_struct
($mock_name:ident, (
$expect_name:ident($key:expr):
fn $method_name:ident $sig:tt -> $output:ty;
$($tail:tt)*
)) -> ($($result:tt)*)
) => { ... };
(@create_mock_struct
($mock_name:ident, (
$expect_name:ident($key:expr):
unsafe fn $method_name:ident $sig:tt;
$($tail:tt)*
)) -> ($($result:tt)*)
) => { ... };
(@create_mock_struct
($mock_name:ident, (
$expect_name:ident($key:expr):
unsafe fn $method_name:ident $sig:tt -> $output:ty;
$($tail:tt)*
)) -> ($($result:tt)*)
) => { ... };
(@create_stub_methods ($self_:ident)) => { ... };
(@create_stub_methods ($self_:ident)
$expect_name:ident($key:expr):
fn $method_name:ident $sig:tt;
$($tail:tt)*
) => { ... };
(@create_stub_methods ($self_:ident)
$expect_name:ident($key:expr):
fn $method_name:ident $sig:tt -> $output:ty;
$($tail:tt)*
) => { ... };
(@create_stub_methods ($self_:ident)
$expect_name:ident($key:expr):
unsafe fn $method_name:ident $sig:tt;
$($tail:tt)*
) => { ... };
(@create_stub_methods ($self_:ident)
$expect_name:ident($key:expr):
unsafe fn $method_name:ident $sig:tt -> $output:ty;
$($tail:tt)*
) => { ... };
(impl $trait_name:ident for $mock_name:ident ($self_:ident) {
$($method_info:tt)*
}) => { ... };
}