tree cbf55efd6ee4e44d5f1028ce36d44912070eada4
parent b7307e21a350c63cd61360feee6801227b2bf108
author Mitchell Kember <mkember@fuchsia.infra.roller.google.com> 1685775660 +0000
committer Copybara-Service <copybara-worker@google.com> 1685775716 -0700

[roll] Roll fuchsia [fidl][rust] Migrate remaining single-field results

This CL migrates response sending to the new types when the response is
a struct with a single field and it uses error syntax, e.g.
`Foo() -> (struct { val string; }) error int32`.

This means when you call responder.send(...), you pass a Result instead
of &mut Result, e.g. responder.send(Ok("hello")).

This is part of a series migrating error result types:

* I1a8ace070e08ea3512a8d30dd2b2b8b23ee511f7 migrated tables and unions.
* Ieefc676f16089f06495b5c902cdfe1308e6f15ae migrated resource structs.
* I2c744e437131dbc89455646351c0f31fdd8c96ae migrated empty structs.
* I7630f1532b76001d05172a3449fa0171bdff9667 migrated 2+ field structs.
* I08308b12d7a1bb7aba8aebd6f43ab6559e36c691 migrated 1-field structs (primitive).
* I2abff2dc1c8748ed98491a26f7b6f816f23ce670 migrated 1-field structs (array or vector).
* Ie1fb9b980527097617f7d5b4b42576aab4820ea5 migrated 1-field structs (enum, bits, struct, or union).
* The CL migrates the rest of single-field structs.

Test: fx check-goldens fidlgen_rust
Test: fx build tools/fidl/fidlgen_rust:goldens
Original-Bug: 54368, 118880, 113157
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/865575
Original-Revision: af92700c62f847a6b8c5df9eb6bc0d4d4da0a532
GitOrigin-RevId: c3c2a4430af85332cef88f161592fa827e127061
Change-Id: I72c387ac7ce9af3add80b7a44d9fbfb5e3f93d26
