-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port standard libraries to new I/O #6850
Labels
Milestone
Comments
Nominating for milestone 2, backwards-compatible |
Accepted for milestone 2, backwards-compatible |
Merged
bors
added a commit
that referenced
this issue
Oct 24, 2013
Large topics: * Implemented `rt::io::net::unix`. We've got an implementation backed by "named pipes" for windows for free from libuv, so I'm not sure if these should be `cfg(unix)` or whether they'd be better placed in `rt::io::pipe` (which is currently kinda useless), or to leave in `unix`. Regardless, we probably shouldn't deny windows of functionality which it certainly has. * Fully implemented `net::addrinfo`, or at least fully implemented in the sense of making the best attempt to wrap libuv's `getaddrinfo` api * Moved standard I/O to a libuv TTY instead of just a plain old file descriptor. I found that this interacted better when closing stdin, and it has the added bonus of getting things like terminal dimentions (someone should make a progress bar now!) * Migrate to `~Trait` instead of a typedef'd object where possible. There are only two more types which are blocked on this, and those are traits which have a method which takes by-value self (there's an open issue on this) * Drop `rt::io::support::PathLike` in favor of just `ToCStr`. We recently had a lot of Path work done, but it still wasn't getting passed down to libuv (there was an intermediate string conversion), and this allows true paths to work all the way down to libuv (and anything else that can become a C string). * Removes `extra::fileinput` and `extra::io_util` Closes #9895 Closes #9975 Closes #8330 Closes #6850 (ported lots of libraries away from std::io) cc #4248 (implemented unix/dns) cc #9128 (made everything truly trait objects)
flip1995
pushed a commit
to flip1995/rust
that referenced
this issue
Mar 11, 2021
…Manishearth Fix redundant closure with macros changelog: Fix redundant_closure FPs with macros Fixes rust-lang#6732 Fixes rust-lang#6850 Fixes rust-lang#4354 (addresses the error message confusion)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The new I/O traits have both blocking and non-blocking implementations. We can port all the existing code to the blocking versions, then throw away the existing core::io code.
The text was updated successfully, but these errors were encountered: