Skip to content

Commit

Permalink
Rollup merge of rust-lang#38839 - frewsxcv:osstr-to-str, r=GuillaumeG…
Browse files Browse the repository at this point in the history
…omez

Expand {Path,OsStr}::{to_str,to_string_lossy} doc examples.

None
  • Loading branch information
sanxiyn committed Jan 10, 2017
2 parents a62f1b5 + 4794f95 commit 20c7dbc
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 4 deletions.
23 changes: 23 additions & 0 deletions src/libstd/ffi/os_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,15 @@ impl OsStr {
/// Yields a `&str` slice if the `OsStr` is valid Unicode.
///
/// This conversion may entail doing a check for UTF-8 validity.
///
/// # Examples
///
/// ```
/// use std::ffi::OsStr;
///
/// let os_str = OsStr::new("foo");
/// assert_eq!(os_str.to_str(), Some("foo"));
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub fn to_str(&self) -> Option<&str> {
self.inner.to_str()
Expand All @@ -267,6 +276,20 @@ impl OsStr {
/// Converts an `OsStr` to a `Cow<str>`.
///
/// Any non-Unicode sequences are replaced with U+FFFD REPLACEMENT CHARACTER.
///
/// # Examples
///
/// Calling `to_string_lossy` on an `OsStr` with valid unicode:
///
/// ```
/// use std::ffi::OsStr;
///
/// let os_str = OsStr::new("foo");
/// assert_eq!(os_str.to_string_lossy(), "foo");
/// ```
///
/// Had `os_str` contained invalid unicode, the `to_string_lossy` call might
/// have returned `"fo�"`.
#[stable(feature = "rust1", since = "1.0.0")]
pub fn to_string_lossy(&self) -> Cow<str> {
self.inner.to_string_lossy()
Expand Down
13 changes: 9 additions & 4 deletions src/libstd/path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1428,8 +1428,8 @@ impl Path {
/// ```
/// use std::path::Path;
///
/// let path_str = Path::new("foo.txt").to_str();
/// assert_eq!(path_str, Some("foo.txt"));
/// let path = Path::new("foo.txt");
/// assert_eq!(path.to_str(), Some("foo.txt"));
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub fn to_str(&self) -> Option<&str> {
Expand All @@ -1444,12 +1444,17 @@ impl Path {
///
/// # Examples
///
/// Calling `to_string_lossy` on a `Path` with valid unicode:
///
/// ```
/// use std::path::Path;
///
/// let path_str = Path::new("foo.txt").to_string_lossy();
/// assert_eq!(path_str, "foo.txt");
/// let path = Path::new("foo.txt");
/// assert_eq!(path.to_string_lossy(), "foo.txt");
/// ```
///
/// Had `os_str` contained invalid unicode, the `to_string_lossy` call might
/// have returned `"fo�.txt"`.
#[stable(feature = "rust1", since = "1.0.0")]
pub fn to_string_lossy(&self) -> Cow<str> {
self.inner.to_string_lossy()
Expand Down

0 comments on commit 20c7dbc

Please sign in to comment.