Skip to content

Commit d423a1c

Browse files
authored
cleanup(generator/rust): use Error::ser() (#2358)
I want to distinguish between serialization errors vs. deserialization errors, and `Error::serde` is ambiguous. With this change, only tests reference `Error::serde()`, I will remove those in a followup PR.
1 parent a924f4c commit d423a1c

File tree

134 files changed

+642
-639
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+642
-639
lines changed

.typos.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@ combintation = "combintation"
200200
# true positives
201201
[default]
202202
extend-ignore-re = [
203+
# This is intentional, we call the factory function `ser()` to avoid the
204+
# `serde()` which is ambiguous:
205+
"Error::ser",
203206
# This is intentional, `typ` is the name of a field in OAuth2 claims:
204207
"\"typ\"",
205208
"\\Wtyp:",

generator/internal/rust/annotate_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ func TestOneOfAnnotations(t *testing.T) {
476476
Attributes: []string{`#[serde_as(as = "std::collections::HashMap<wkt::internal::I32, wkt::internal::F32>")]`},
477477
FieldType: "std::collections::HashMap<i32,f32>",
478478
PrimitiveFieldType: "std::collections::HashMap<i32,f32>",
479-
AddQueryParameter: `let builder = req.oneof_field_map().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "oneofFieldMap") });`,
479+
AddQueryParameter: `let builder = req.oneof_field_map().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "oneofFieldMap") });`,
480480
KeyType: "i32",
481481
KeyField: key_field,
482482
ValueType: "f32",
@@ -511,7 +511,7 @@ func TestOneOfAnnotations(t *testing.T) {
511511
Attributes: []string{`#[serde_as(as = "std::boxed::Box<wkt::internal::F64>")]`},
512512
FieldType: "std::boxed::Box<>",
513513
PrimitiveFieldType: "",
514-
AddQueryParameter: `let builder = req.oneof_field_boxed().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "oneofFieldBoxed") });`,
514+
AddQueryParameter: `let builder = req.oneof_field_boxed().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "oneofFieldBoxed") });`,
515515
KeyType: "",
516516
ValueType: "",
517517
IsBoxed: true,
@@ -1053,7 +1053,7 @@ func TestFieldAnnotations(t *testing.T) {
10531053
},
10541054
FieldType: "std::collections::HashMap<i32,i64>",
10551055
PrimitiveFieldType: "std::collections::HashMap<i32,i64>",
1056-
AddQueryParameter: `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.map_field).map_err(Error::serde)?.add(builder, "mapField") };`,
1056+
AddQueryParameter: `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.map_field).map_err(Error::ser)?.add(builder, "mapField") };`,
10571057
KeyType: "i32",
10581058
KeyField: key_field,
10591059
ValueType: "i64",
@@ -1073,7 +1073,7 @@ func TestFieldAnnotations(t *testing.T) {
10731073
},
10741074
FieldType: "std::option::Option<std::boxed::Box<crate::model::TestMessage>>",
10751075
PrimitiveFieldType: "crate::model::TestMessage",
1076-
AddQueryParameter: `let builder = req.boxed_field.as_ref().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "boxedField") });`,
1076+
AddQueryParameter: `let builder = req.boxed_field.as_ref().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "boxedField") });`,
10771077
IsBoxed: true,
10781078
}
10791079
if diff := cmp.Diff(wantField, boxed_field.Codec); diff != "" {
@@ -1255,7 +1255,7 @@ func TestEnumFieldAnnotations(t *testing.T) {
12551255
},
12561256
FieldType: "std::collections::HashMap<std::string::String,crate::model::TestEnum>",
12571257
PrimitiveFieldType: "std::collections::HashMap<std::string::String,crate::model::TestEnum>",
1258-
AddQueryParameter: `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.map_field).map_err(Error::serde)?.add(builder, "mapField") };`,
1258+
AddQueryParameter: `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.map_field).map_err(Error::ser)?.add(builder, "mapField") };`,
12591259
KeyType: "std::string::String",
12601260
KeyField: key_field,
12611261
ValueType: "crate::model::TestEnum",

generator/internal/rust/codec.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -720,9 +720,9 @@ func addQueryParameter(f *api.Field) string {
720720
// few requests use nested objects as query parameters. Furthermore,
721721
// the conversion is skipped if the object field is `None`.`
722722
if f.Optional || f.Repeated {
723-
return fmt.Sprintf(`let builder = req.%s.as_ref().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "%s") });`, fieldName, f.JSONName)
723+
return fmt.Sprintf(`let builder = req.%s.as_ref().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "%s") });`, fieldName, f.JSONName)
724724
}
725-
return fmt.Sprintf(`let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.%s).map_err(Error::serde)?.add(builder, "%s") };`, fieldName, f.JSONName)
725+
return fmt.Sprintf(`let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.%s).map_err(Error::ser)?.add(builder, "%s") };`, fieldName, f.JSONName)
726726
default:
727727
if f.Optional || f.Repeated {
728728
return fmt.Sprintf(`let builder = req.%s.iter().fold(builder, |builder, p| builder.query(&[("%s", p)]));`, fieldName, f.JSONName)
@@ -742,7 +742,7 @@ func addQueryParameterOneOf(f *api.Field) string {
742742
// query. The conversion to `serde_json::Value` is expensive, but very
743743
// few requests use nested objects as query parameters. Furthermore,
744744
// the conversion is skipped if the object field is `None`.`
745-
return fmt.Sprintf(`let builder = req.%s().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "%s") });`, fieldName, f.JSONName)
745+
return fmt.Sprintf(`let builder = req.%s().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "%s") });`, fieldName, f.JSONName)
746746
default:
747747
return fmt.Sprintf(`let builder = req.%s().iter().fold(builder, |builder, p| builder.query(&[("%s", p)]));`, fieldName, f.JSONName)
748748
}

generator/internal/rust/codec_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,15 +1291,15 @@ func TestAsQueryParameter(t *testing.T) {
12911291
field *api.Field
12921292
want string
12931293
}{
1294-
{optionsField, `let builder = req.options_field.as_ref().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "optionsField") });`},
1294+
{optionsField, `let builder = req.options_field.as_ref().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "optionsField") });`},
12951295
{requiredField, `let builder = builder.query(&[("requiredField", &req.required_field)]);`},
12961296
{optionalField, `let builder = req.optional_field.iter().fold(builder, |builder, p| builder.query(&[("optionalField", p)]));`},
12971297
{repeatedField, `let builder = req.repeated_field.iter().fold(builder, |builder, p| builder.query(&[("repeatedField", p)]));`},
12981298
{requiredEnumField, `let builder = builder.query(&[("requiredEnumField", &req.required_enum_field)]);`},
12991299
{optionalEnumField, `let builder = req.optional_enum_field.iter().fold(builder, |builder, p| builder.query(&[("optionalEnumField", p)]));`},
13001300
{repeatedEnumField, `let builder = req.repeated_enum_field.iter().fold(builder, |builder, p| builder.query(&[("repeatedEnumField", p)]));`},
1301-
{requiredFieldMaskField, `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.required_field_mask).map_err(Error::serde)?.add(builder, "requiredFieldMask") };`},
1302-
{optionalFieldMaskField, `let builder = req.optional_field_mask.as_ref().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "optionalFieldMask") });`},
1301+
{requiredFieldMaskField, `let builder = { use gaxi::query_parameter::QueryParameter; serde_json::to_value(&req.required_field_mask).map_err(Error::ser)?.add(builder, "requiredFieldMask") };`},
1302+
{optionalFieldMaskField, `let builder = req.optional_field_mask.as_ref().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, v| { use gaxi::query_parameter::QueryParameter; v.add(builder, "optionalFieldMask") });`},
13031303
} {
13041304
got := addQueryParameter(test.field)
13051305
if test.want != got {
@@ -1392,13 +1392,13 @@ func TestOneOfAsQueryParameter(t *testing.T) {
13921392
field *api.Field
13931393
want string
13941394
}{
1395-
{optionsField, `let builder = req.options_field().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "optionsField") });`},
1395+
{optionsField, `let builder = req.options_field().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "optionsField") });`},
13961396
{typeField, `let builder = req.r#type().iter().fold(builder, |builder, p| builder.query(&[("type", p)]));`},
13971397
{singularField, `let builder = req.singular_field().iter().fold(builder, |builder, p| builder.query(&[("singularField", p)]));`},
13981398
{repeatedField, `let builder = req.repeated_field().iter().fold(builder, |builder, p| builder.query(&[("repeatedField", p)]));`},
13991399
{singularEnumField, `let builder = req.singular_enum_field().iter().fold(builder, |builder, p| builder.query(&[("singularEnumField", p)]));`},
14001400
{repeatedEnumField, `let builder = req.repeated_enum_field().iter().fold(builder, |builder, p| builder.query(&[("repeatedEnumField", p)]));`},
1401-
{singularFieldMaskField, `let builder = req.singular_field_mask().map(|p| serde_json::to_value(p).map_err(Error::serde) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "singularFieldMask") });`},
1401+
{singularFieldMaskField, `let builder = req.singular_field_mask().map(|p| serde_json::to_value(p).map_err(Error::ser) ).transpose()?.into_iter().fold(builder, |builder, p| { use gaxi::query_parameter::QueryParameter; p.add(builder, "singularFieldMask") });`},
14021402
} {
14031403
got := addQueryParameter(test.field)
14041404
if test.want != got {

src/generated/api/apikeys/v2/src/transport.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ impl super::stub::ApiKeys for ApiKeys {
174174
let builder = req
175175
.update_mask
176176
.as_ref()
177-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
177+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
178178
.transpose()?
179179
.into_iter()
180180
.fold(builder, |builder, v| {

src/generated/api/cloudquotas/v1/src/transport.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ impl super::stub::CloudQuotas for CloudQuotas {
208208
let builder = req
209209
.update_mask
210210
.as_ref()
211-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
211+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
212212
.transpose()?
213213
.into_iter()
214214
.fold(builder, |builder, v| {

src/generated/appengine/v1/src/transport.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ impl super::stub::Applications for Applications {
110110
let builder = req
111111
.update_mask
112112
.as_ref()
113-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
113+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
114114
.transpose()?
115115
.into_iter()
116116
.fold(builder, |builder, v| {
@@ -316,7 +316,7 @@ impl super::stub::Services for Services {
316316
let builder = req
317317
.update_mask
318318
.as_ref()
319-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
319+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
320320
.transpose()?
321321
.into_iter()
322322
.fold(builder, |builder, v| {
@@ -553,7 +553,7 @@ impl super::stub::Versions for Versions {
553553
let builder = req
554554
.update_mask
555555
.as_ref()
556-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
556+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
557557
.transpose()?
558558
.into_iter()
559559
.fold(builder, |builder, v| {
@@ -1006,7 +1006,7 @@ impl super::stub::Firewall for Firewall {
10061006
let builder = req
10071007
.update_mask
10081008
.as_ref()
1009-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1009+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
10101010
.transpose()?
10111011
.into_iter()
10121012
.fold(builder, |builder, v| {
@@ -1336,7 +1336,7 @@ impl super::stub::AuthorizedCertificates for AuthorizedCertificates {
13361336
let builder = req
13371337
.update_mask
13381338
.as_ref()
1339-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1339+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
13401340
.transpose()?
13411341
.into_iter()
13421342
.fold(builder, |builder, v| {
@@ -1561,7 +1561,7 @@ impl super::stub::DomainMappings for DomainMappings {
15611561
let builder = req
15621562
.update_mask
15631563
.as_ref()
1564-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1564+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
15651565
.transpose()?
15661566
.into_iter()
15671567
.fold(builder, |builder, v| {

src/generated/bigtable/admin/v2/src/transport.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
169169
let builder = req
170170
.update_mask
171171
.as_ref()
172-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
172+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
173173
.transpose()?
174174
.into_iter()
175175
.fold(builder, |builder, v| {
@@ -343,7 +343,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
343343
let builder = req
344344
.update_mask
345345
.as_ref()
346-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
346+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
347347
.transpose()?
348348
.into_iter()
349349
.fold(builder, |builder, v| {
@@ -495,7 +495,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
495495
let builder = req
496496
.update_mask
497497
.as_ref()
498-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
498+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
499499
.transpose()?
500500
.into_iter()
501501
.fold(builder, |builder, v| {
@@ -635,7 +635,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
635635
let builder = req
636636
.start_time
637637
.as_ref()
638-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
638+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
639639
.transpose()?
640640
.into_iter()
641641
.fold(builder, |builder, v| {
@@ -645,7 +645,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
645645
let builder = req
646646
.end_time
647647
.as_ref()
648-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
648+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
649649
.transpose()?
650650
.into_iter()
651651
.fold(builder, |builder, v| {
@@ -768,7 +768,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
768768
let builder = req
769769
.update_mask
770770
.as_ref()
771-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
771+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
772772
.transpose()?
773773
.into_iter()
774774
.fold(builder, |builder, v| {
@@ -920,7 +920,7 @@ impl super::stub::BigtableInstanceAdmin for BigtableInstanceAdmin {
920920
let builder = req
921921
.update_mask
922922
.as_ref()
923-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
923+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
924924
.transpose()?
925925
.into_iter()
926926
.fold(builder, |builder, v| {
@@ -1247,7 +1247,7 @@ impl super::stub::BigtableTableAdmin for BigtableTableAdmin {
12471247
let builder = req
12481248
.update_mask
12491249
.as_ref()
1250-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1250+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
12511251
.transpose()?
12521252
.into_iter()
12531253
.fold(builder, |builder, v| {
@@ -1423,7 +1423,7 @@ impl super::stub::BigtableTableAdmin for BigtableTableAdmin {
14231423
let builder = req
14241424
.update_mask
14251425
.as_ref()
1426-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1426+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
14271427
.transpose()?
14281428
.into_iter()
14291429
.fold(builder, |builder, v| {
@@ -1755,7 +1755,7 @@ impl super::stub::BigtableTableAdmin for BigtableTableAdmin {
17551755
let builder = req
17561756
.update_mask
17571757
.as_ref()
1758-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
1758+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
17591759
.transpose()?
17601760
.into_iter()
17611761
.fold(builder, |builder, v| {

src/generated/cloud/accessapproval/v1/src/transport.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ impl super::stub::AccessApproval for AccessApproval {
221221
let builder = req
222222
.update_mask
223223
.as_ref()
224-
.map(|p| serde_json::to_value(p).map_err(Error::serde))
224+
.map(|p| serde_json::to_value(p).map_err(Error::ser))
225225
.transpose()?
226226
.into_iter()
227227
.fold(builder, |builder, v| {

0 commit comments

Comments
 (0)