macro_rules! declare_server_traits {
($($name:ident {
- $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)*) $(-> $ret_ty:ty)*;)*
- }),* $(,)*) => {
+ $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)?) $(-> $ret_ty:ty)?;)*
+ }),* $(,)?) => {
pub trait Types {
$(associated_item!(type $name);)*
}
$(pub trait $name: Types {
- $(associated_item!(fn $method(&mut self, $($arg: $arg_ty),*) $(-> $ret_ty)*);)*
+ $(associated_item!(fn $method(&mut self, $($arg: $arg_ty),*) $(-> $ret_ty)?);)*
})*
pub trait Server: Types $(+ $name)* {}
macro_rules! define_mark_types_impls {
($($name:ident {
- $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)*) $(-> $ret_ty:ty)*;)*
- }),* $(,)*) => {
+ $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)?) $(-> $ret_ty:ty)?;)*
+ }),* $(,)?) => {
impl<S: Types> Types for MarkedTypes<S> {
$(type $name = Marked<S::$name, client::$name>;)*
}
$(impl<S: $name> $name for MarkedTypes<S> {
- $(fn $method(&mut self, $($arg: $arg_ty),*) $(-> $ret_ty)* {
+ $(fn $method(&mut self, $($arg: $arg_ty),*) $(-> $ret_ty)? {
<_>::mark($name::$method(&mut self.0, $($arg.unmark()),*))
})*
})*
macro_rules! define_dispatcher_impl {
($($name:ident {
- $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)*) $(-> $ret_ty:ty)*;)*
- }),* $(,)*) => {
+ $(fn $method:ident($($arg:ident: $arg_ty:ty),* $(,)?) $(-> $ret_ty:ty)?;)*
+ }),* $(,)?) => {
// FIXME(eddyb) `pub` only for `ExecutionStrategy` below.
pub trait DispatcherTrait {
// HACK(eddyb) these are here to allow `Self::$name` to work below.
) -> Buffer<u8> {
let mut dispatch = |b| dispatcher.dispatch(b);
- run_client(
- Bridge {
- cached_buffer: input,
- dispatch: (&mut dispatch).into(),
- },
- client_data,
- )
+ run_client(Bridge { cached_buffer: input, dispatch: (&mut dispatch).into() }, client_data)
}
}
};
run_client(
- Bridge {
- cached_buffer: input,
- dispatch: (&mut dispatch).into(),
- },
+ Bridge { cached_buffer: input, dispatch: (&mut dispatch).into() },
client_data,
)
});
};
let r = run_client(
- Bridge {
- cached_buffer: input,
- dispatch: (&mut dispatch).into(),
- },
+ Bridge { cached_buffer: input, dispatch: (&mut dispatch).into() },
client_data,
);
run_client: extern "C" fn(Bridge<'_>, D) -> Buffer<u8>,
client_data: D,
) -> Result<O, PanicMessage> {
- let mut dispatcher = Dispatcher {
- handle_store: HandleStore::new(handle_counters),
- server: MarkedTypes(server),
- };
+ let mut dispatcher =
+ Dispatcher { handle_store: HandleStore::new(handle_counters), server: MarkedTypes(server) };
let mut b = Buffer::new();
input.encode(&mut b, &mut dispatcher.handle_store);
server: S,
input: S::TokenStream,
) -> Result<S::TokenStream, PanicMessage> {
- let client::Client {
- get_handle_counters,
- run,
- f,
- } = *self;
+ let client::Client { get_handle_counters, run, f } = *self;
run_server(
strategy,
get_handle_counters(),
input: S::TokenStream,
input2: S::TokenStream,
) -> Result<S::TokenStream, PanicMessage> {
- let client::Client {
- get_handle_counters,
- run,
- f,
- } = *self;
+ let client::Client { get_handle_counters, run, f } = *self;
run_server(
strategy,
get_handle_counters(),