rust/library
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
..
alloc alloc: RawVec<T, A>::shrink can be in no_global_oom_handling. 2021-06-30 19:42:41 +02:00
backtrace@221483ebaf Update backtrace to 0.3.57 2021-04-25 13:48:03 -07:00
core Update to new bootstrap compiler 2021-06-28 11:30:49 -04:00
panic_abort rustdoc: link to stable/beta docs consistently in documentation 2021-06-04 14:18:21 -04:00
panic_unwind Use HTTPS links where possible 2021-06-23 16:26:46 -04:00
proc_macro proc_macro/bridge: Remove dead code Slice type 2021-07-01 10:20:57 -07:00
profiler_builtins Update cc 2021-05-24 23:34:12 +01:00
rtstartup
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Auto merge of #85746 - m-ou-se:io-error-other, r=joshtriplett 2021-07-02 09:01:42 +00:00
stdarch@3001c75a1d Update stdarch submodule to stabilize simd_x86_bittest feature 2021-06-13 02:29:17 +09:00
term rustdoc: link to stable/beta docs consistently in documentation 2021-06-04 14:18:21 -04:00
test Update to new bootstrap compiler 2021-06-28 11:30:49 -04:00
unwind Support Android ndk versions r23-beta3 and up 2021-06-01 21:37:50 +02:00