Skip to content

Commit

Permalink
Change XCM builder methods to take and return mutable references
Browse files Browse the repository at this point in the history
  • Loading branch information
franciscoaguirre committed Dec 4, 2023
1 parent 5417d0f commit d1858f8
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions polkadot/xcm/procedural/src/builder_pattern.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ fn generate_builder_raw_impl(name: &Ident, data_enum: &DataEnum) -> TokenStream2
let method = match &variant.fields {
Fields::Unit => {
quote! {
pub fn #method_name(mut self) -> Self {
pub fn #method_name(&mut self) -> &mut Self {
self.instructions.push(#name::<Call>::#variant_name);
self
}
Expand All @@ -107,7 +107,7 @@ fn generate_builder_raw_impl(name: &Ident, data_enum: &DataEnum) -> TokenStream2
.collect();
let arg_types: Vec<_> = fields.unnamed.iter().map(|field| &field.ty).collect();
quote! {
pub fn #method_name(mut self, #(#arg_names: #arg_types),*) -> Self {
pub fn #method_name(&mut self, #(#arg_names: #arg_types),*) -> &mut Self {
self.instructions.push(#name::<Call>::#variant_name(#(#arg_names),*));
self
}
Expand All @@ -117,7 +117,7 @@ fn generate_builder_raw_impl(name: &Ident, data_enum: &DataEnum) -> TokenStream2
let arg_names: Vec<_> = fields.named.iter().map(|field| &field.ident).collect();
let arg_types: Vec<_> = fields.named.iter().map(|field| &field.ty).collect();
quote! {
pub fn #method_name(mut self, #(#arg_names: #arg_types),*) -> Self {
pub fn #method_name(&mut self, #(#arg_names: #arg_types),*) -> &mut Self {
self.instructions.push(#name::<Call>::#variant_name { #(#arg_names),* });
self
}
Expand Down

0 comments on commit d1858f8

Please sign in to comment.