about summary refs log tree commit diff
path: root/library/std/src/fs.rs
AgeCommit message (Collapse)AuthorLines
2024-05-20Document platform-specifics for `Read` and `Write` of `File`Tobias Bucher-0/+76
2024-05-08Rollup merge of #124782 - anatawa12:docs-create-new-already-exists, ↵Jubilee-0/+9
r=workingjubilee add note about `AlreadyExists` to `create_new` Fixes #119244
2024-05-06Apply suggestions from code reviewanatawa12-2/+6
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2024-05-06add note about `AlreadyExists` to `create_new`anatawa12-0/+5
2024-04-29Document that `create_dir_all` calls `mkdir`/`CreateDirW` multiple timesTobias Bucher-3/+7
Also mention that there might be leftover directories in the error case.
2024-04-17Improve std::fs::Metadata Debug representationDavid Tolnay-10/+26
Before: Metadata { file_type: FileType( FileType { mode: 0o100600 (-rw-------), }, ), is_dir: false, is_file: true, permissions: Permissions( FilePermissions { mode: 0o100600 (-rw-------), }, ), modified: Ok( SystemTime { tv_sec: 1713402981, tv_nsec: 682983531, }, ), accessed: Ok( SystemTime { tv_sec: 1713402983, tv_nsec: 206999623, }, ), created: Ok( SystemTime { tv_sec: 1713402981, tv_nsec: 682983531, }, ), .. } After: Metadata { file_type: FileType { is_dir: false, is_file: true, is_symlink: false, .. }, permissions: Permissions( FilePermissions { mode: 0o100600 (-rw-------), }, ), len: 2096, modified: SystemTime { tv_sec: 1713402981, tv_nsec: 682983531, }, accessed: SystemTime { tv_sec: 1713402983, tv_nsec: 206999623, }, created: SystemTime { tv_sec: 1713402981, tv_nsec: 682983531, }, .. }
2024-04-16Update usage note on OpenOptions::append()Hrvoje Niksic-9/+18
Avoid implying that concatenating data before passing it to `write()` (with or without `BufWriter`) ensures atomicity.
2024-04-14Rollup merge of #120900 - marcospb19:std-use-seek-stream-position, ↵Guillaume Gomez-3/+2
r=joshtriplett std: use `stream_position` where applicable by replacing `seek(SeekFrom::Current(0))` calls
2024-04-10clean up docs for `File::sync_*`Lukas Markeffsky-3/+11
2024-04-02use a consistent style for linksTshepang Mbambo-2/+2
2024-03-27Some wording improvementVagelis Prokopiou-2/+2
2024-03-26Fix link to BufWriterding-young-1/+1
2024-03-09Rollup merge of #121403 - kornelski:io-oom, r=dtolnayGuillaume Boisseau-4/+4
impl From<TryReserveError> for io::Error There's an obvious mapping between these two errors, and it makes I/O code less noisy. I've chosen to use simple `ErrorKind::OutOfMemory` `io::Error`, without keeping `TryReserveError` for the `source()`, because: * It matches current uses in libstd, * `ErrorData::Custom` allocates, which is a risky proposition for handling OOM errors specifically. * Currently `TryReserveError` has no public fields/methods, so it's usefulness is limited. How allocators should report errors, especially custom and verbose ones is still an open question. Just in case I've added note in the doccomment that this may change. The compiler forced me to declare stability of this impl. I think this implementation is simple enough that it doesn't need full-blown stabilization period, and I've marked it for the next release, but of course I can adjust the attribute if needed.
2024-03-08Rollup merge of #118623 - haydonryan:master, r=workingjubileeMatthias Krüger-4/+4
Improve std::fs::read_to_string example Resolves [#118621](https://github.com/rust-lang/rust/issues/118621) For the original code to succeed it requires address.txt to contain a socketaddress, however it is much easier to follow if this is just any strong - eg address could be a street address or just text. Also changed the variable name from "foo" to something more meaningful as cargo clippy warns you against using foo as a placeholder. ``` $ cat main.rs use std::fs; use std::error::Error; fn main() -> Result<(), Box<dyn Error>> { let addr: String = fs::read_to_string("address.txt")?.parse()?; println!("{}", addr); Ok(()) } $ cat address.txt 123 rusty lane san francisco 94999 $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.00s Running `/home/haydon/workspace/rust-test-pr/tester/target/debug/tester` 123 rusty lane san francisco 94999 ```
2024-03-02Rollup merge of #109263 - squell:master, r=cuviperMatthias Krüger-5/+4
fix typo in documentation for std::fs::Permissions Please check and re-check this PR carefully to see if I got this right. But by my logic, if the `read_only` function returns `true`, I would not expect be able to write to the file (it being read only); so this text is meant to clarify that `read_only` being `false` doesn't mean *you* can actually write to the file, just that "in general" someone is able to.
2024-02-22remove potentially misleading sentence about libc::accessMarc Schoolderman-2/+1
2024-02-21Remove unnecessary map_errKornel-4/+4
2024-02-18Add uncontroversial syscall doc aliases to std docsSabrinaJewson-2/+16
2024-02-16Auto merge of #120538 - kornelski:read-not-exact, r=m-ou-sebors-2/+2
Make File::read_to_end less special Follow-up to #117925
2024-02-15Update library/std/src/fs.rsHaydon Ryan-2/+2
Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
2024-02-15Update library/std/src/fs.rsHaydon Ryan-2/+2
Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
2024-02-11std: use `stream_position` where applicableJoão Marcos P. Bezerra-3/+2
by replacing `seek(SeekFrom::Current(0))` calls
2024-02-08Bump version placeholdersMark Rousskov-1/+1
2024-01-31Make File::read_to_end less specialKornel-2/+2
Follow-up to #117925
2024-01-29Handle out of memory errors in fs::read/read_to_stringKornel-4/+6
2024-01-03Rollup merge of #119319 - chfogelman:buffered-file-doc, r=the8472León Orell Valerian Liehr-3/+9
Document that File does not buffer reads/writes ...and refer to `BufReader`/`BufWriter`. This is a common source of efficiency issues in Rust programs written naively. Including this information with the `File` docs, and adding a link to the wrapper types, will help discoverability.
2023-12-31Document that File does not buffer reads/writes, refer to BufReader/BufWriterCarter Hunt Fogelman-3/+9
2023-12-20stabilize `file_create_new`Ralph Ursprung-3/+1
closes #105135
2023-12-11Updating fs::read example to remove SocketAddressHaydon Ryan-2/+2
2023-12-11fixing error std::fs::read_to_string example documentationHaydon Ryan-2/+2
2023-11-15Substitute version placeholdersMark Rousskov-7/+7
2023-10-31Stabilize `file_set_times`Josh Triplett-9/+7
Approved via FCP in https://github.com/rust-lang/rust/issues/98245 .
2023-10-05Add more diagnostic items for clippyJason Newcomb-0/+3
2023-09-19Auto merge of #104101 - betrusted-io:xous-libstd-initial, r=bjorn3bors-1/+1
Add initial libstd support for Xous This patchset adds some minimal support to the tier-3 target `riscv32imac-unknown-xous-elf`. The following features are supported: * alloc * thread creation and joining * thread sleeping * thread_local * panic_abort * mutex * condvar * stdout Additionally, internal support for the various Xous primitives surrounding IPC have been added as part of the Xous FFI. These may be exposed as part of `std::os::xous::ffi` in the future, however for now they are not public. This represents the minimum viable product. A future patchset will add support for networking and filesystem support.
2023-09-01Auto merge of #114448 - SteveLauC:std_fs_read_doc, r=Mark-Simulacrumbors-5/+7
docs: improve std::fs::read doc #### What does this PR do 1. Rephrase a confusing sentence in the document of `std::fs::read()` ----- Closes #114432 cc `@Dexus0` `@saethlin`
2023-09-01docs: improve std::fs::read docSteve Lau-5/+7
2023-08-29rewording after comments by @thomccMarc Schoolderman-5/+5
2023-08-25Add a new helper to avoid calling io::Error::kindBen Kimock-0/+3
2023-08-22std: fs: skip fs tests on xousSean Cross-1/+1
The xous filesystem support is not yet ready for merging. Signed-off-by: Sean Cross <sean@xobs.io>
2023-08-22Replace version placeholders with 1.73.0Mark Rousskov-3/+3
2023-07-28inline trivial (noop) flush callsThom Chiovoloni-0/+3
2023-07-10Auto merge of #94748 - tbu-:pr_file_arc, r=Amanieubors-32/+65
Add `Read`, `Write` and `Seek` impls for `Arc<File>` where appropriate If `&T` implements these traits, `Arc<T>` has no reason not to do so either. This is useful for operating system handles like `File` or `TcpStream` which don't need a mutable reference to implement these traits. CC #53835. CC #94744.
2023-06-23Add `Read`, `Write` and `Seek` impls for `Arc<File>` where appropriateTobias Bucher-0/+46
If `&T` implements these traits, `Arc<T>` has no reason not to do so either. This is useful for operating system handles like `File` or `TcpStream` which don't need a mutable reference to implement these traits. CC #53835. CC #94744.
2023-06-23Forward `io::{Read,Seek,Write}` impls of `File` to `&File`Tobias Bucher-33/+20
This reduces code duplication.
2023-06-23DirEntry::file_name: improve explanationTshepang Mbambo-2/+8
2023-05-19Auto merge of #109773 - beetrees:set-file-time-improvements, r=Amanieubors-0/+11
Add creation time support to `FileTimes` on apple and windows Adds support for setting file creation times on platforms which support changing it directly (currently only Apple and Windows). Based on top of #110093 (which was split from this PR). ACP: rust-lang/libs-team#199 (currently still in progress) Tracking issue: #98245 `@rustbot` label +T-libs-api -T-libs
2023-05-15Add creation time support to `FileTimes` on apple and windowsbeetrees-0/+11
2023-05-15wanting => wantVagelis Prokopiou-1/+1
2023-05-01Inline AsInner implementationsKonrad Borowski-0/+8
2023-04-27docs(std): clarify `remove_dir_all` errorsPhilpax-0/+5