From e918733e5fc3bdb6f5cbfb77aa9045a26028e20e Mon Sep 17 00:00:00 2001
From: Steve Klabnik <steve@steveklabnik.com>
Date: Tue, 12 Aug 2014 06:36:40 -0400
Subject: [PATCH] Fix error message for WindowsPath::new

Originally discovered here: http://www.reddit.com/r/rust/comments/2dbg3j/hm_unwrap_is_being_renamed_to_assert/cjnxiax
---
 src/libstd/path/windows.rs | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs
index c3a217bf940f3..42e95902c277c 100644
--- a/src/libstd/path/windows.rs
+++ b/src/libstd/path/windows.rs
@@ -628,18 +628,36 @@ impl GenericPath for Path {
 }
 
 impl Path {
-    /// Returns a new Path from a byte vector or string
+    /// Returns a new `Path` from a `BytesContainer`.
     ///
     /// # Failure
     ///
-    /// Fails the task if the vector contains a NUL.
-    /// Fails if invalid UTF-8.
+    /// Fails if the vector contains a `NUL`, or if it contains invalid UTF-8.
+    ///
+    /// # Example
+    ///
+    /// ```
+    /// println!("{}", Path::new(r"C:\some\path").display());
+    /// ```
     #[inline]
     pub fn new<T: BytesContainer>(path: T) -> Path {
         GenericPath::new(path)
     }
 
-    /// Returns a new Path from a byte vector or string, if possible
+    /// Returns a new `Some(Path)` from a `BytesContainer`.
+    ///
+    /// Returns `None` if the vector contains a `NUL`, or if it contains invalid UTF-8.
+    ///
+    /// # Example
+    ///
+    /// ```
+    /// let path = Path::new_opt(r"C:\some\path");
+    ///
+    /// match path {
+    ///     Some(path) => println!("{}", path.display()),
+    ///     None       => println!("There was a problem with your path."),
+    /// }
+    /// ```
     #[inline]
     pub fn new_opt<T: BytesContainer>(path: T) -> Option<Path> {
         GenericPath::new_opt(path)