[wlan][core] Add lints to avoid panics

This CL adds new lints that prevent panics in prod. However, sometimes
panics are desirable, and the lints (like all others) can be overridden
at those times by adding an `#[expect(clippy::foo)]`. This adds a bit of
extra friction / visibility in both authoring and review. The lints are
not applied to tests.

The CL adds `#[expect]` or makes minor refactors where the lints fired
today.

Bug: 390163524
Test: CQ
Change-Id: I54d4a91c305b20df36e7817b6ea43cd041c4d4e0
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1192752
Fuchsia-Auto-Submit: Kiet Tran <kiettran@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Charles Celerier <chcl@google.com>
13 files changed
tree: 1878f135b8bc3659bb15e493450202ab513f6c36
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. shac.textproto
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.