[LSC] Add LOCAL_LICENSE_KINDS to external/rust/crates/os_str_bytes am: 479b4bde6e am: ae594f2f68 am: 03bf398448 am: 87fb2a4f63

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/os_str_bytes/+/2168404

Change-Id: I4f62c53644b019f33ec9c4f446cd84a6fa83a10f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
tree: daf8a1981039d7d819adaf573620f3f60feafb41
  1. src/
  2. tests/
  3. Android.bp
  4. Cargo.toml
  5. COPYRIGHT
  6. LICENSE-APACHE
  7. LICENSE-MIT
  8. METADATA
  9. MODULE_LICENSE_MIT
  10. OWNERS
  11. README.md
  12. rustfmt.toml
README.md

OsStr Bytes

This crate allows interacting with the data stored by OsStr and OsString, without resorting to panics or corruption for invalid UTF-8. Thus, methods can be used that are already defined on [u8] and Vec<u8>.

Typically, the only way to losslessly construct OsStr or OsString from a byte sequence is to use OsStr::new(str::from_utf8(bytes)?), which requires the bytes to be valid in UTF-8. However, since this crate makes conversions directly between the platform encoding and raw bytes, even some strings invalid in UTF-8 can be converted.

GitHub Build Status

Usage

Add the following lines to your “Cargo.toml” file:

[dependencies]
os_str_bytes = "6.1"

See the documentation for available functionality and examples.

Rust version support

The minimum supported Rust toolchain version depends on the platform:

Minor version updates may increase these version requirements. However, the previous two Rust releases will always be supported. If the minimum Rust version must not be increased, use a tilde requirement to prevent updating this crate's minor version:

[dependencies]
os_str_bytes = "~6.1"

License

Licensing terms are specified in COPYRIGHT.

Unless you explicitly state otherwise, any contribution submitted for inclusion in this crate, as defined in LICENSE-APACHE, shall be licensed according to COPYRIGHT, without any additional terms or conditions.