Crates which require permission to patch upstream

Crates in this directory don‘t fall under Google’s patching policy. Googlers who wish to contribute to the upstream projects here must seek approval by filing a bug under the OSRB component.

Crates moved to this directory should not be modified from their upstream contents, except to add a single #![allow(warnings)] to the crate's lib.rs to prevent repeated warnings when operated on by Cargo. If you need to make code changes, move the crate to //third_party/rust_crates/forks/<crate_name> and add a README.fuchsia file explaining the changes and this upstream patching policy restriction.

To update a crate in this directory:

  1. Comment out its line in the [patch.crates-io] section of //third_party/rust_crates/Cargo.toml.
  2. Run fx update-rustc-third-party.
  3. Delete all of //third_party/rust_crates/ask2patch/<crate_name> except the OWNERS file.
  4. Move the contents of //third_party/rust_crates/vendor/<crate_name>/* to //third_party/rust_crates/ask2patch/<crate_name>/* and delete the directory in vendor/.
  5. Undo (1), uncommenting the crate's line in //third_party/rust_crates/Cargo.toml.
  6. Repeat (2).