1
Fork 0
Commit graph

18 commits

Author SHA1 Message Date
bors
f9fa13f705 Auto merge of #85746 - m-ou-se:io-error-other, r=joshtriplett
Redefine `ErrorKind::Other` and stop using it in std.

This implements the idea I shared yesterday in the libs meeting when we were discussing how to handle adding new `ErrorKind`s to the standard library: This redefines `Other` to be for *user defined errors only*, and changes all uses of `Other` in the standard library to a `#[doc(hidden)]` and permanently `#[unstable]` `ErrorKind` that users can not match on. This ensures that adding `ErrorKind`s at a later point in time is not a breaking change, since the user couldn't match on these errors anyway. This way, we use the `#[non_exhaustive]` property of the enum in a more effective way.

Open questions:
- How do we check this change doesn't cause too much breakage? Will a crate run help and be enough?
- How do we ensure we don't accidentally start using `Other` again in the standard library? We don't have a `pub(not crate)` or `#[deprecated(in this crate only)]`.

cc https://github.com/rust-lang/rust/pull/79965

cc `@rust-lang/libs` `@ijackson`

r? `@dtolnay`
2021-07-02 09:01:42 +00:00
Mara Bos
a0d11a4fab Rename ErrorKind::Unknown to Uncategorized. 2021-06-15 14:30:13 +02:00
Mara Bos
0b37bb2bc2 Redefine ErrorKind::Other and stop using it in std. 2021-06-15 14:22:49 +02:00
Albert Ford
3cafe2a43f
Rename opensbd to openbsd 2021-05-26 23:17:13 -07:00
Mara Bos
7b71719faf Use io::Error::new_const everywhere to avoid allocations. 2021-03-21 20:22:38 +01:00
Maarten de Vries
3ac62cafa3 Use libc::accept4 on Android instead of raw syscall. 2021-02-24 12:24:36 +01:00
bors
af69066aa6 Auto merge of #69864 - LinkTed:master, r=Amanieu
unix: Extend UnixStream and UnixDatagram to send and receive file descriptors

Add the functions `recv_vectored_fds` and `send_vectored_fds` to `UnixDatagram` and `UnixStream`. With this functions `UnixDatagram` and `UnixStream` can send and receive file descriptors, by using `recvmsg` and `sendmsg` system call.
2020-12-02 17:36:29 +00:00
Maarten de Vries
3bee37c290 Disable accept4 on Android. 2020-11-06 14:17:48 +01:00
Maarten de Vries
59c6ae615e Use SOCK_CLOEXEC and accept4() on more platforms. 2020-10-30 14:20:10 +01:00
Mara Bos
dce405ae3d Take sys/vxworks/net from sys/unix instead. 2020-10-16 06:19:00 +02:00
LinkTed
e9bf69954c Remove passcred for emscripten 2020-10-10 15:19:13 +02:00
LinkTed
31e6e3896d Fix SO_PASSCRED for macos 2020-10-10 15:19:13 +02:00
LinkTed
b01ce2cfd0 Fix MSG_CMSG_CLOEXEC for macos 2020-10-10 15:19:13 +02:00
LinkTed
e61148f98a Cast boolean into int directly in function set_passcred 2020-10-10 15:19:12 +02:00
LinkTed
686964f0f5 Add set_passcred and passcred methods to UnixStream and UnixDatagram 2020-10-10 15:19:12 +02:00
LinkTed
8783b06bd2 Move add_to_ancillary_data and AncillaryDataIter to ancillary.rs 2020-10-10 15:19:11 +02:00
LinkTed
0b3c9d8465 unix: Extend UnixStream and UnixDatagram to send and receive file descriptors
Add the functions `recv_vectored_fds` and `send_vectored_fds` to send and receive file descriptors, by using `recvmsg` and `sendmsg` system call.
2020-10-10 15:19:11 +02:00
mark
2c31b45ae8 mv std libs to library/ 2020-07-27 19:51:13 -05:00
Renamed from src/libstd/sys/unix/net.rs (Browse further)