Skip to content

Commit 403bade

Browse files
committed
Do not generate unneded #[serde(rename)]
Avoid generating #[serde(rename)] for fields that have not been renamed. Drive-by changes: - add IntelliJ iml files to .gitignore - comment out rustfmt attributes that aren't stable yet
1 parent 8416c4f commit 403bade

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Cargo.lock
44

55
.idea
6+
*.iml
67
.vscode/
78
*.log
89
yaml_test_runner/yaml/

.rustfmt.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
merge_imports = true
1+
# Available on rustfmt nightly currently so commented out so that we remember to enable it once stable
2+
#merge_imports = true
3+
#normalize_doc_attributes = true

api_generator/src/generator/code_gen/request/request_builder.rs

+20-8
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,31 @@ impl<'a> RequestBuilder<'a> {
125125
let query_struct_ty = ident("QueryParams");
126126
let struct_fields = endpoint_params.iter().map(|(param_name, param_type)| {
127127
let field = Self::create_struct_field((param_name, param_type));
128-
let field_rename = lit(param_name);
129-
// TODO: we special case expand_wildcards here to be a list, but this should be fixed upstream
130-
if param_type.ty == TypeKind::List || param_name == "expand_wildcards" {
131-
let serialize_with = lit("crate::client::serialize_coll_qs");
128+
129+
let renamed = field.ident.as_ref().unwrap() != param_name;
130+
let serde_rename = if renamed {
131+
let field_rename = lit(param_name);
132132
quote! {
133-
#[serde(rename = #field_rename, serialize_with = #serialize_with)]
134-
#field
133+
#[serde(rename = #field_rename)]
135134
}
136135
} else {
136+
quote!()
137+
};
138+
139+
// TODO: we special case expand_wildcards here to be a list, but this should be fixed upstream
140+
let expand = param_type.ty == TypeKind::List || param_name == "expand_wildcards";
141+
let serialize_with = if expand {
137142
quote! {
138-
#[serde(rename = #field_rename)]
139-
#field
143+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
140144
}
145+
} else {
146+
quote!()
147+
};
148+
149+
quote! {
150+
#serde_rename
151+
#serialize_with
152+
#field
141153
}
142154
});
143155

0 commit comments

Comments
 (0)