about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorTobias Bucher <tobiasbucher5991@gmail.com>2015-04-15 09:52:08 +0200
committerTobias Bucher <tobiasbucher5991@gmail.com>2015-04-15 09:52:08 +0200
commit53b7a06fafd00627d721d168bc993152a0f265c8 (patch)
tree058544014d1e7c1e5fa7bc891103dd9a4693ec45 /src/libstd
parent5dc8060e3fbf49f225885217dc9f966ce95ff72d (diff)
downloadrust-53b7a06fafd00627d721d168bc993152a0f265c8.tar.gz
rust-53b7a06fafd00627d721d168bc993152a0f265c8.zip
Remove one allocation for the file path in file opening
Fixes #22190.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/fs.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs
index 914830d9dcf..a92ef2a2aef 100644
--- a/src/libstd/fs.rs
+++ b/src/libstd/fs.rs
@@ -51,7 +51,6 @@ use vec::Vec;
 #[stable(feature = "rust1", since = "1.0.0")]
 pub struct File {
     inner: fs_imp::File,
-    path: Option<PathBuf>,
 }
 
 /// Metadata information about a file.
@@ -193,12 +192,12 @@ impl File {
         OpenOptions::new().write(true).create(true).truncate(true).open(path)
     }
 
-    /// Returns the original path that was used to open this file.
+    /// Returns `None`.
     #[unstable(feature = "file_path",
-               reason = "this abstraction is imposed by this library instead \
-                         of the underlying OS and may be removed")]
+               reason = "this abstraction was imposed by this library and was removed")]
+    #[deprecated(since = "1.0.0", reason = "abstraction was removed")]
     pub fn path(&self) -> Option<&Path> {
-        self.path.as_ref().map(|p| &**p)
+        None
     }
 
     /// Attempt to sync all OS-internal metadata to disk.
@@ -302,7 +301,7 @@ impl AsInner<fs_imp::File> for File {
 }
 impl FromInner<fs_imp::File> for File {
     fn from_inner(f: fs_imp::File) -> File {
-        File { inner: f, path: None }
+        File { inner: f }
     }
 }
 
@@ -470,7 +469,7 @@ impl OpenOptions {
     pub fn open<P: AsRef<Path>>(&self, path: P) -> io::Result<File> {
         let path = path.as_ref();
         let inner = try!(fs_imp::File::open(path, &self.0));
-        Ok(File { path: Some(path.to_path_buf()), inner: inner })
+        Ok(File { inner: inner })
     }
 }