[settings] migrate to rust edition 2021

This migrates the settings service rust code and build files to use edition 2021. This was excluded from https://fxrev.dev/691339 because of https://fxbug.dev/101439 , but is now unblocked. See https://doc.rust-lang.org/edition-guide/rust-2021/index.html for details about the new edition.

The edition migration tooling added lots of code like `let _ = &self;` to preserve the drop ordering of the original code. See https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html for more information about that specific change.

Bug: 101302
Fixed: 101439
Change-Id: Ic9633d4befd1e56d2548bdc738d630a18368867c
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/693485
Reviewed-by: Tyler Mandry <tmandry@google.com>
Commit-Queue: Dan Johnson <computerdruid@google.com>
15 files changed
tree: 4073f32c0cff26f77827f4a13767ebef7519ca0b
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.