Roll syn: 2.0.68 => 2.0.69 in //third_party/rust.

This CL has been created semi-automatically.  The expected review
process and other details can be found at
//tools/crates/create_update_cl.md

Updated crates:

* syn: 2.0.68 => 2.0.69

Chromium `supply-chain/config.toml` policy requires that the following
audit criteria are met (note that these are the *minimum* required
criteria and `supply-chain/audits.toml` can and should record a stricter
certification if possible;  see also //docs/rust-unsafe.md):

* syn@2.0.69: crypto-safe, safe-to-deploy, ub-risk-2

Bug: None
Change-Id: I49f1f8e005b182818dec2209c86e302bd531207c
Cq-Include-Trybots: chromium/try:android-rust-arm32-rel
Cq-Include-Trybots: chromium/try:android-rust-arm64-dbg
Cq-Include-Trybots: chromium/try:android-rust-arm64-rel
Cq-Include-Trybots: chromium/try:linux-rust-x64-dbg
Cq-Include-Trybots: chromium/try:linux-rust-x64-rel
Cq-Include-Trybots: chromium/try:win-rust-x64-dbg
Cq-Include-Trybots: chromium/try:win-rust-x64-rel
Disable-Rts: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5682991
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Adrian Taylor <adetaylor@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1324378}
NOKEYCHECK=True
GitOrigin-RevId: 25f9af43978ee6eaf9f16b19b05bfcf43066ef7d
105 files changed
tree: f2d3fbc6a5acd4fc84eb32fc1b5371b3ce57ad0b
  1. aho_corasick/
  2. anstyle/
  3. anyhow/
  4. base64/
  5. bitflags/
  6. bytemuck/
  7. bytemuck_derive/
  8. bytes/
  9. cc/
  10. cfg_if/
  11. chromium_crates_io/
  12. clap/
  13. clap_builder/
  14. clap_lex/
  15. codespan_reporting/
  16. cxx/
  17. cxxbridge_cmd/
  18. cxxbridge_flags/
  19. cxxbridge_macro/
  20. either/
  21. fend_core/
  22. font_types/
  23. getrandom/
  24. heck/
  25. hex/
  26. hex_literal/
  27. itertools/
  28. itoa/
  29. lazy_static/
  30. libc/
  31. log/
  32. memchr/
  33. nom/
  34. ppv_lite86/
  35. proc_macro2/
  36. prost/
  37. prost_derive/
  38. qr_code/
  39. quote/
  40. rand/
  41. rand_chacha/
  42. rand_core/
  43. rand_pcg/
  44. read_fonts/
  45. regex/
  46. regex_automata/
  47. regex_syntax/
  48. rstest/
  49. rstest_macros/
  50. rstest_reuse/
  51. rustc_demangle/
  52. rustc_demangle_capi/
  53. rustc_version/
  54. rustversion/
  55. ryu/
  56. semver/
  57. serde/
  58. serde_derive/
  59. serde_json/
  60. serde_json_lenient/
  61. skrifa/
  62. small_ctor/
  63. src/
  64. static_assertions/
  65. strsim/
  66. strum/
  67. strum_macros/
  68. syn/
  69. termcolor/
  70. tinyvec/
  71. unicode_ident/
  72. unicode_linebreak/
  73. unicode_width/
  74. winapi_util/
  75. windows_aarch64_msvc/
  76. windows_i686_msvc/
  77. windows_sys/
  78. windows_targets/
  79. windows_x86_64_msvc/
  80. wycheproof/
  81. .clang-format
  82. OWNERS
  83. PRESUBMIT.py
  84. README.md
README.md

Rust third-party code

This directory contains all third-party Rust code, and sometimes thin wrappers around it for C++ intertop.

Crates.io

Crates that come from crates.io are found in //third_party/rust/chromium_crates_io, and are all vendored into the Chromium git repository. They are managed through Cargo rules and with the gnrt tool. See //docs/rust.md for how to bring in new third-party libraries or update them.

The GN rules and README.chromium files for these crates are written by the gnrt tool and should not be edited by hand.

Directory structure

We store GN rules for each third-party crate in a directory of the same name. Under that directory a folder named based on the crate epoch version is created. This limits first-party usage of a crate to only one version within each epoch. If the crate's version has a major version greater-than 0, then that is used as its version folder, such as v1. Otherwise, the name includes all leading zeros in the version, such as v0_3.

For example, GN rules for the tutelage crate at version 1.4.3 would be stored at

//third_party/rust/tutelage/v1

Whereas GN rules for the verion 0.2.8 version would be stored at

//third_party/rust/tutelage/v0_2

Other sources

Third-party Rust libraries that are not distributed through crates.io are uncommon. But they may live under //third_party/rust/crate_name directly, as a git submodule, with GN rules written for them by hand.

OWNERS

We do not require OWNERS in each crate's directory at this time, but this will be revisited in the future.

Review process

Rust libraries must go through the 3rd-party review process. See the review of the toml crate for an example of a Rust security review.