# convenience Useful stuff that isn't in std. Currently there isn't much to see there apart from a few file I/O functions. This is somewhat inspired by what I saw of Go's rich standard library, but I only took a quick look at it so take this with a grain of salt. If you need to do something substantially more complex than what if possible with this crate's API, chances are you really want to use the [`standard library`](https://doc.rust-lang.org/std/) directly instead of this crate. ## Motivation I was tired of writing this: ```rust let mut s = String::new(); let mut f = try!(File::open("/path/to/file")); try!(f.read_to_string(&mut s)); ``` When I really wanted to do this: ```rust let s = try!(read_file("/path/to/file")); ``` This is strictly less flexible than the version using only `std`: you can't allocate just the right amount of memory if you know the size of your file upfront, you can't read a non-UTF-8 file, and you can't reuse a buffer. However, most of the time you don't need to do any of this, you _just want to get your code working_. Rust's `std` is a low-level foundation, and rightly so, but sometimes you want something that is more rigid but also simpler. ## Features Implemented: - `read_file(path)` - `write_file(path, contents)` To do: - (maybe) `random_string(len)` ## What goes here Any reasonably common and simple task that you could expect to be in `std`, but isn't.