Skip to content

Commit a72baa0

Browse files
Junha Yangjunha1
Junha Yang
authored andcommitted
Use default fmt
1 parent 5a5e08c commit a72baa0

30 files changed

+468
-257
lines changed

remote-trait-object-macro/src/helper.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ pub fn is_ref(the_type: &syn::Type) -> Result<Option<syn::Type>, String> {
2525
String
2626
})
2727
.unwrap(),
28-
))
28+
));
2929
}
3030

3131
match the_type {
3232
syn::Type::Reference(x) => {
3333
if x.lifetime.is_some() {
34-
return Err("Lifetime exists".to_owned())
34+
return Err("Lifetime exists".to_owned());
3535
}
3636
if x.mutability.is_some() {
37-
return Err("Mutable".to_owned())
37+
return Err("Mutable".to_owned());
3838
}
3939
match *x.elem {
4040
syn::Type::Slice(_) => Ok(Some(

remote-trait-object-macro/src/service.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl MacroArgsRaw {
5555
}
5656
} else {
5757
Err(syn::parse::Error::new_spanned(ts, "Unsupported argument"))
58-
}
58+
};
5959
}
6060

6161
let arg: SingleArg<TokenStream2> = syn::parse2(ts.clone())?;
@@ -73,9 +73,9 @@ impl MacroArgsRaw {
7373

7474
fn fill_default_values(self) -> MacroArgs {
7575
MacroArgs {
76-
serde_format: self
77-
.serde_format
78-
.unwrap_or_else(|| syn::parse2(quote! {remote_trait_object::macro_env::DefaultSerdeFormat}).unwrap()),
76+
serde_format: self.serde_format.unwrap_or_else(|| {
77+
syn::parse2(quote! {remote_trait_object::macro_env::DefaultSerdeFormat}).unwrap()
78+
}),
7979
no_proxy: self.no_proxy.map(|_| true).unwrap_or(false),
8080
no_skeleton: self.no_skeleton.map(|_| true).unwrap_or(false),
8181
}
@@ -100,7 +100,10 @@ pub fn service(args: TokenStream2, input: TokenStream2) -> Result<TokenStream2,
100100
let source_trait = match syn::parse2::<syn::ItemTrait>(input.clone()) {
101101
Ok(x) => x,
102102
Err(_) => {
103-
return Err(syn::Error::new_spanned(input, "You can use #[service] only on a trait").to_compile_error())
103+
return Err(
104+
syn::Error::new_spanned(input, "You can use #[service] only on a trait")
105+
.to_compile_error(),
106+
)
104107
}
105108
};
106109

remote-trait-object-macro/src/service/dispatcher.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pub(super) fn generate_dispatcher(
77
args: &MacroArgs,
88
) -> Result<TokenStream2, TokenStream2> {
99
if args.no_skeleton {
10-
return Ok(TokenStream2::new())
10+
return Ok(TokenStream2::new());
1111
}
1212

1313
let env_path = create_env_path();
@@ -29,9 +29,11 @@ pub(super) fn generate_dispatcher(
2929
let method = match item {
3030
syn::TraitItem::Method(x) => x,
3131
non_method => {
32-
return Err(
33-
syn::Error::new_spanned(non_method, "Service trait must have only methods").to_compile_error()
32+
return Err(syn::Error::new_spanned(
33+
non_method,
34+
"Service trait must have only methods",
3435
)
36+
.to_compile_error())
3537
}
3638
};
3739
let id_ident = super::id::id_method_ident(source_trait, method);
@@ -58,7 +60,9 @@ pub(super) fn generate_dispatcher(
5860
.first()
5961
.ok_or_else(|| syn::Error::new_spanned(method, no_self).to_compile_error())?
6062
{
61-
syn::FnArg::Typed(_) => return Err(syn::Error::new_spanned(method, no_self).to_compile_error()),
63+
syn::FnArg::Typed(_) => {
64+
return Err(syn::Error::new_spanned(method, no_self).to_compile_error())
65+
}
6266
syn::FnArg::Receiver(syn::Receiver {
6367
mutability: Some(_),
6468
..
@@ -76,7 +80,9 @@ pub(super) fn generate_dispatcher(
7680
ident: the_iden,
7781
subpat: None,
7882
}));
79-
the_let_pattern.elems.push_punct(syn::token::Comma(Span::call_site()));
83+
the_let_pattern
84+
.elems
85+
.push_punct(syn::token::Comma(Span::call_site()));
8086

8187
let arg_type = match arg_source {
8288
syn::FnArg::Typed(syn::PatType {
@@ -96,7 +102,9 @@ pub(super) fn generate_dispatcher(
96102
type_annotation.elems.push(arg_type.clone());
97103
}
98104

99-
type_annotation.elems.push_punct(syn::token::Comma(Span::call_site()));
105+
type_annotation
106+
.elems
107+
.push_punct(syn::token::Comma(Span::call_site()));
100108

101109
let arg_ident = quote::format_ident!("a{}", j + 1);
102110
let the_arg = if crate::helper::is_ref(arg_type)

remote-trait-object-macro/src/service/from_skeleton.rs

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pub(super) fn generate_from_skeleton(
99
args: &MacroArgs,
1010
) -> Result<TokenStream2, TokenStream2> {
1111
if args.no_proxy {
12-
return Ok(TokenStream2::new())
12+
return Ok(TokenStream2::new());
1313
}
1414

1515
let env_path = create_env_path();
@@ -36,9 +36,11 @@ pub(super) fn generate_from_skeleton(
3636
let method = match item {
3737
syn::TraitItem::Method(x) => x,
3838
non_method => {
39-
return Err(
40-
syn::Error::new_spanned(non_method, "Service trait must have only methods").to_compile_error()
39+
return Err(syn::Error::new_spanned(
40+
non_method,
41+
"Service trait must have only methods",
4142
)
43+
.to_compile_error())
4244
}
4345
};
4446
let id_ident = super::id::id_method_ident(source_trait, method);
@@ -55,14 +57,19 @@ pub(super) fn generate_from_skeleton(
5557
syn::FnArg::Receiver(_) => continue, // &self
5658
syn::FnArg::Typed(pattern) => {
5759
if let syn::Pat::Ident(the_arg) = &*pattern.pat {
58-
arguments_in_tuple.elems.push(syn::Expr::Path(syn::ExprPath {
59-
attrs: Vec::new(),
60-
qself: None,
61-
path: path_of_single_ident(the_arg.ident.clone()),
62-
}));
60+
arguments_in_tuple
61+
.elems
62+
.push(syn::Expr::Path(syn::ExprPath {
63+
attrs: Vec::new(),
64+
qself: None,
65+
path: path_of_single_ident(the_arg.ident.clone()),
66+
}));
6367
} else {
64-
return Err(syn::Error::new_spanned(arg, "You must not use a pattern for the argument")
65-
.to_compile_error())
68+
return Err(syn::Error::new_spanned(
69+
arg,
70+
"You must not use a pattern for the argument",
71+
)
72+
.to_compile_error());
6673
}
6774
}
6875
}
@@ -73,8 +80,13 @@ pub(super) fn generate_from_skeleton(
7380
let result = #env_path::get_dispatch(&self.skeleton).dispatch_and_call(#id_ident.load(#env_path::ID_ORDERING), &args);
7481
<#serde_format as #env_path::SerdeFormat>::from_slice(&result).unwrap()
7582
};
76-
the_method.block.stmts.push(syn::Stmt::Expr(syn::Expr::Verbatim(the_call)));
77-
imported_struct_impl.items.push(syn::ImplItem::Method(the_method));
83+
the_method
84+
.block
85+
.stmts
86+
.push(syn::Stmt::Expr(syn::Expr::Verbatim(the_call)));
87+
imported_struct_impl
88+
.items
89+
.push(syn::ImplItem::Method(the_method));
7890
}
7991
imported_struct.extend(imported_struct_impl.to_token_stream());
8092
imported_struct.extend(quote! {

remote-trait-object-macro/src/service/id.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ pub fn id_method_ident(the_trait: &syn::ItemTrait, method: &syn::TraitItemMethod
99

1010
fn lit_index(index: usize) -> syn::Lit {
1111
// We put a distinctive offset for the easy debug.
12-
syn::Lit::Int(syn::LitInt::new(&format!("{}", index + 70), Span::call_site()))
12+
syn::Lit::Int(syn::LitInt::new(
13+
&format!("{}", index + 70),
14+
Span::call_site(),
15+
))
1316
}
1417

1518
fn id_method_entry_ident(the_trait: &syn::ItemTrait, method: &syn::TraitItemMethod) -> Ident {
@@ -20,7 +23,10 @@ fn id_method_setter_ident(the_trait: &syn::ItemTrait, method: &syn::TraitItemMet
2023
quote::format_ident!("id_method_setter_{}_{}", the_trait.ident, method.sig.ident)
2124
}
2225

23-
pub(super) fn generate_id(source_trait: &syn::ItemTrait, _args: &MacroArgs) -> Result<TokenStream2, TokenStream2> {
26+
pub(super) fn generate_id(
27+
source_trait: &syn::ItemTrait,
28+
_args: &MacroArgs,
29+
) -> Result<TokenStream2, TokenStream2> {
2430
let env_path = create_env_path();
2531
let lit_trait_name = syn::LitStr::new(&format!("{}", source_trait.ident), Span::call_site());
2632
let mut method_id_table = TokenStream2::new();
@@ -29,9 +35,11 @@ pub(super) fn generate_id(source_trait: &syn::ItemTrait, _args: &MacroArgs) -> R
2935
let method = match item {
3036
syn::TraitItem::Method(x) => x,
3137
non_method => {
32-
return Err(
33-
syn::Error::new_spanned(non_method, "Service trait must have only methods").to_compile_error()
38+
return Err(syn::Error::new_spanned(
39+
non_method,
40+
"Service trait must have only methods",
3441
)
42+
.to_compile_error())
3543
}
3644
};
3745
let lit_index = lit_index(i);

remote-trait-object-macro/src/service/proxy.rs

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ use crate::helper::path_of_single_ident;
44
use proc_macro2::{Span, TokenStream as TokenStream2};
55
use quote::ToTokens;
66

7-
pub(super) fn generate_proxy(source_trait: &syn::ItemTrait, args: &MacroArgs) -> Result<TokenStream2, TokenStream2> {
7+
pub(super) fn generate_proxy(
8+
source_trait: &syn::ItemTrait,
9+
args: &MacroArgs,
10+
) -> Result<TokenStream2, TokenStream2> {
811
if args.no_proxy {
9-
return Ok(TokenStream2::new())
12+
return Ok(TokenStream2::new());
1013
}
1114

1215
let env_path = create_env_path();
@@ -33,9 +36,11 @@ pub(super) fn generate_proxy(source_trait: &syn::ItemTrait, args: &MacroArgs) ->
3336
let method = match item {
3437
syn::TraitItem::Method(x) => x,
3538
non_method => {
36-
return Err(
37-
syn::Error::new_spanned(non_method, "Service trait must have only methods").to_compile_error()
39+
return Err(syn::Error::new_spanned(
40+
non_method,
41+
"Service trait must have only methods",
3842
)
43+
.to_compile_error())
3944
}
4045
};
4146
let id_ident = super::id::id_method_ident(source_trait, method);
@@ -52,14 +57,19 @@ pub(super) fn generate_proxy(source_trait: &syn::ItemTrait, args: &MacroArgs) ->
5257
syn::FnArg::Receiver(_) => continue, // &self
5358
syn::FnArg::Typed(pattern) => {
5459
if let syn::Pat::Ident(the_arg) = &*pattern.pat {
55-
arguments_in_tuple.elems.push(syn::Expr::Path(syn::ExprPath {
56-
attrs: Vec::new(),
57-
qself: None,
58-
path: path_of_single_ident(the_arg.ident.clone()),
59-
}));
60+
arguments_in_tuple
61+
.elems
62+
.push(syn::Expr::Path(syn::ExprPath {
63+
attrs: Vec::new(),
64+
qself: None,
65+
path: path_of_single_ident(the_arg.ident.clone()),
66+
}));
6067
} else {
61-
return Err(syn::Error::new_spanned(arg, "You must not use a pattern for the argument")
62-
.to_compile_error())
68+
return Err(syn::Error::new_spanned(
69+
arg,
70+
"You must not use a pattern for the argument",
71+
)
72+
.to_compile_error());
6373
}
6474
}
6575
}
@@ -68,8 +78,13 @@ pub(super) fn generate_proxy(source_trait: &syn::ItemTrait, args: &MacroArgs) ->
6878
let the_call = quote! {
6979
self.handle.call::<#serde_format, _, _>(#id_ident.load(#env_path::ID_ORDERING), &#arguments_in_tuple)
7080
};
71-
the_method.block.stmts.push(syn::Stmt::Expr(syn::Expr::Verbatim(the_call)));
72-
imported_struct_impl.items.push(syn::ImplItem::Method(the_method));
81+
the_method
82+
.block
83+
.stmts
84+
.push(syn::Stmt::Expr(syn::Expr::Verbatim(the_call)));
85+
imported_struct_impl
86+
.items
87+
.push(syn::ImplItem::Method(the_method));
7388
}
7489
imported_struct.extend(imported_struct_impl.to_token_stream());
7590
imported_struct.extend(quote! {

remote-trait-object-tests/benches/bench1.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion};
22
use remote_trait_object_tests::{massive_no_export, massive_with_export};
33

44
pub fn no_export(c: &mut Criterion) {
5-
c.bench_function("no_export_100", |b| b.iter(|| massive_no_export(black_box(100))));
5+
c.bench_function("no_export_100", |b| {
6+
b.iter(|| massive_no_export(black_box(100)))
7+
});
68
}
79

810
pub fn with_export(c: &mut Criterion) {
9-
c.bench_function("with_export_100", |b| b.iter(|| massive_with_export(black_box(100))));
11+
c.bench_function("with_export_100", |b| {
12+
b.iter(|| massive_with_export(black_box(100)))
13+
});
1014
}
1115

1216
criterion_group!(benches, no_export, with_export);

remote-trait-object-tests/src/ping.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,12 @@ impl Ping for SimplePing {
4545
}
4646

4747
#[allow(clippy::type_complexity)]
48-
fn run(barrier: Arc<Barrier>) -> ((Context, ServiceToImport<dyn Hello>), (Context, ServiceToImport<dyn Hello>)) {
48+
fn run(
49+
barrier: Arc<Barrier>,
50+
) -> (
51+
(Context, ServiceToImport<dyn Hello>),
52+
(Context, ServiceToImport<dyn Hello>),
53+
) {
4954
let crate::transport::TransportEnds {
5055
recv1,
5156
send1,
@@ -65,9 +70,7 @@ fn run(barrier: Arc<Barrier>) -> ((Context, ServiceToImport<dyn Hello>), (Contex
6570
Config::default_setup(),
6671
send2,
6772
recv2,
68-
ServiceToExport::new(Box::new(SimpleHello {
69-
barrier,
70-
}) as Box<dyn Hello>),
73+
ServiceToExport::new(Box::new(SimpleHello { barrier }) as Box<dyn Hello>),
7174
),
7275
)
7376
}
@@ -98,7 +101,9 @@ fn ping_concurrent1() {
98101
let hello1: Box<dyn Hello> = hello1.into_proxy();
99102
let hello2: Box<dyn Hello> = hello2.into_proxy();
100103

101-
let pings: Vec<Box<dyn Ping>> = (0..n).map(|_| hello2.hey().unwrap_import().into_proxy()).collect();
104+
let pings: Vec<Box<dyn Ping>> = (0..n)
105+
.map(|_| hello2.hey().unwrap_import().into_proxy())
106+
.collect();
102107
let joins: Vec<thread::JoinHandle<()>> = pings
103108
.into_iter()
104109
.map(|ping| {
@@ -152,7 +157,8 @@ fn null_proxy() {
152157
let barrier = Arc::new(Barrier::new(1));
153158
let ((ctx1, _), (_ctx2, _)) = run(Arc::clone(&barrier));
154159
let null_handle = remote_trait_object::raw_exchange::HandleToExchange::create_null();
155-
let null_proxy: Box<dyn Ping> = remote_trait_object::raw_exchange::import_service_from_handle(&ctx1, null_handle);
160+
let null_proxy: Box<dyn Ping> =
161+
remote_trait_object::raw_exchange::import_service_from_handle(&ctx1, null_handle);
156162
null_proxy.ping();
157163
}
158164

remote-trait-object-tests/src/simple.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,16 @@ fn test() {
5555
Context::with_initial_service_import(Config::default_setup(), send2, recv2);
5656
let pizza_store_proxy: Box<dyn PizzaStore> = pizza_store.into_proxy();
5757

58-
let my_credit_card = Box::new(SomeCreditCard {
59-
money: 11,
60-
}) as Box<dyn CreditCard>;
61-
assert_eq!(pizza_store_proxy.order_pizza(ServiceRef::create_export(my_credit_card)).unwrap(), "Tasty Pizza");
58+
let my_credit_card = Box::new(SomeCreditCard { money: 11 }) as Box<dyn CreditCard>;
59+
assert_eq!(
60+
pizza_store_proxy
61+
.order_pizza(ServiceRef::create_export(my_credit_card))
62+
.unwrap(),
63+
"Tasty Pizza"
64+
);
6265

63-
let my_credit_card = Box::new(SomeCreditCard {
64-
money: 9,
65-
}) as Box<dyn CreditCard>;
66-
assert!(pizza_store_proxy.order_pizza(ServiceRef::create_export(my_credit_card)).is_err());
66+
let my_credit_card = Box::new(SomeCreditCard { money: 9 }) as Box<dyn CreditCard>;
67+
assert!(pizza_store_proxy
68+
.order_pizza(ServiceRef::create_export(my_credit_card))
69+
.is_err());
6770
}

0 commit comments

Comments
 (0)