[fidl][rust] Add fidl_struct_copy! macro

This add defines an Encodable and Decodable implementation that directly
copies the struct using zerocopy.

This will be generated in fidlgen_rust in a later CL. It can't be
generated in this CL because it will break rust code appearing in the
SDK.

Test: fx test fidl_rust_tests
Change-Id: I71502652ac0900dfa692d3f27d50e16797cc7fb7
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/403334
Commit-Queue: Benjamin Prosnitz <bprosnitz@google.com>
Reviewed-by: Mitchell Kember <mkember@google.com>
Testability-Review: Mitchell Kember <mkember@google.com>
1 file changed
tree: 0c324f590c2cf1b003dcbd9e9ee285c67310a4cf
  1. .clang-format
  2. .clang-tidy
  3. .gitattributes
  4. .gitignore
  5. .gn
  6. .style.yapf
  7. AUTHORS
  8. BUILD.gn
  9. CODE_OF_CONDUCT.md
  10. CONTRIBUTING.md
  11. LICENSE
  12. OWNERS
  13. PATENTS
  14. README.md
  15. boards/
  16. build/
  17. bundles/
  18. cts/
  19. docs/
  20. examples/
  21. garnet/
  22. products/
  23. rustfmt.toml
  24. scripts/
  25. sdk/
  26. src/
  27. third_party/
  28. tools/
  29. zircon/
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.