Macro simulacrum::create_mock []

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 ) * } ) => { ... };
}