Rollup merge of #56141 - jnqnfe:osstr_len_clarity, r=nagisa
[std] Osstr len clarity
This commit is contained in:
commit
e9a805522c
@ -42,6 +42,13 @@
|
||||
/// in each pair are owned strings; the latter are borrowed
|
||||
/// references.
|
||||
///
|
||||
/// Note, `OsString` and `OsStr` internally do not necessarily hold strings in
|
||||
/// the form native to the platform; While on Unix, strings are stored as a
|
||||
/// sequence of 8-bit values, on Windows, where strings are 16-bit value based
|
||||
/// as just discussed, strings are also actually stored as a sequence of 8-bit
|
||||
/// values, encoded in a less-strict variant of UTF-8. This is useful to
|
||||
/// understand when handling capacity and length values.
|
||||
///
|
||||
/// # Creating an `OsString`
|
||||
///
|
||||
/// **From a Rust string**: `OsString` implements
|
||||
@ -583,14 +590,19 @@ pub fn is_empty(&self) -> bool {
|
||||
|
||||
/// Returns the length of this `OsStr`.
|
||||
///
|
||||
/// Note that this does **not** return the number of bytes in this string
|
||||
/// as, for example, OS strings on Windows are encoded as a list of [`u16`]
|
||||
/// rather than a list of bytes. This number is simply useful for passing to
|
||||
/// other methods like [`OsString::with_capacity`] to avoid reallocations.
|
||||
/// Note that this does **not** return the number of bytes in the string in
|
||||
/// OS string form.
|
||||
///
|
||||
/// See `OsStr` introduction for more information about encoding.
|
||||
/// The length returned is that of the underlying storage used by `OsStr`;
|
||||
/// As discussed in the [`OsString`] introduction, [`OsString`] and `OsStr`
|
||||
/// store strings in a form best suited for cheap inter-conversion between
|
||||
/// native-platform and Rust string forms, which may differ significantly
|
||||
/// from both of them, including in storage size and encoding.
|
||||
///
|
||||
/// [`u16`]: ../primitive.u16.html
|
||||
/// This number is simply useful for passing to other methods, like
|
||||
/// [`OsString::with_capacity`] to avoid reallocations.
|
||||
///
|
||||
/// [`OsString`]: struct.OsString.html
|
||||
/// [`OsString::with_capacity`]: struct.OsString.html#method.with_capacity
|
||||
///
|
||||
/// # Examples
|
||||
|
Loading…
Reference in New Issue
Block a user