rust/library/std/src
Matthias Krüger 9f3786b2b1
Rollup merge of #101967 - jmillikin:linux-abstract-socket-addr, r=joshtriplett
Move `unix_socket_abstract` feature API to `SocketAddrExt`.

The pre-stabilized API for abstract socket addresses exposes methods on `SocketAddr` that are only enabled for `cfg(any(target_os = "android", target_os = "linux"))`. Per discussion in <https://github.com/rust-lang/rust/issues/85410>, moving these methods to an OS-specific extension trait is required before stabilization can be considered.

This PR makes four changes:
1. The internal module `std::os::net` contains logic for the unstable feature `tcp_quickack` (https://github.com/rust-lang/rust/issues/96256). I moved that code into `linux_ext/tcp.rs` and tried to adjust the module tree so it could accommodate a second unstable feature there.
2. Moves the public API out of `impl SocketAddr`, into `impl SocketAddrExt for SocketAddr` (the headline change).
3. The existing function names and docs for `unix_socket_abstract` refer to addresses as being created from abstract namespaces, but a more accurate description is that they create sockets in *the* abstract namespace. I adjusted the function signatures correspondingly and tried to update the docs to be clearer.
4. I also tweaked `from_abstract_name` so it takes an `AsRef<[u8]>` instead of `&[u8]`, allowing `b""` literals to be passed directly.

Issues:
1. The public module `std::os::linux::net` is marked as part of `tcp_quickack`. I couldn't figure out how to mark a module as being part of two unstable features, so I just left the existing attributes in place. My hope is that this will be fixed as a side-effect of stabilizing either feature.
2022-11-14 19:26:14 +01:00
..
backtrace Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
collections Added const_hash tracking issue id 2022-11-06 18:01:44 +01:00
env std: move "mod tests/benches" to separate files 2020-08-31 02:56:59 +00:00
error remove fn backtrace 2022-08-01 20:10:40 +00:00
f32 Semicolon after macro_rules definition. 2022-08-15 12:33:00 +02:00
f64 Semicolon after macro_rules definition. 2022-08-15 12:33:00 +02:00
ffi Guarantee try_reserve preserves the contents on error 2022-08-10 01:51:38 +09:00
fs Ignore hiberfil_sys test in CI 2022-07-18 15:06:07 +01:00
io Fix grammar in docs for std::io::Read 2022-10-24 01:06:34 -07:00
net Update mod.rs 2022-10-31 12:17:30 -04:00
num rustc_expand: Mark inner #![test] attributes as soft-unstable 2020-11-20 19:35:03 +03:00
os Rollup merge of #101967 - jmillikin:linux-abstract-socket-addr, r=joshtriplett 2022-11-14 19:26:14 +01:00
panic review: fix nits and move panic safety tests to the correct place 2020-09-25 23:10:24 +02:00
path make many std tests work in Miri 2022-08-18 18:07:39 -04:00
personality Use correct EH personality on *-windows-gnu-* 2022-11-12 12:19:14 +01:00
prelude Rollup merge of #102049 - fee1-dead-contrib:derive_const, r=oli-obk 2022-11-12 12:02:50 +05:30
process Add test for issue #95178 2022-03-23 05:33:44 +00:00
sync Auto merge of #93563 - ibraheemdev:crossbeam-channel, r=Amanieu 2022-11-13 12:08:42 +00:00
sys std: fix double-free of mutex 2022-11-06 15:32:59 +01:00
sys_common std: remove lock wrappers in sys_common 2022-11-06 15:32:59 +01:00
thread avoid using channels in thread-local tests 2022-11-12 23:44:52 -05:00
time make many std tests work in Miri 2022-08-18 18:07:39 -04:00
alloc.rs Forbid mixing System with sytem allocator calls 2022-09-03 16:47:12 -05:00
ascii.rs Remove use of #[rustc_deprecated] 2022-04-14 01:33:13 -04:00
backtrace.rs std: use sync::Mutex for internal statics 2022-10-13 12:55:14 +02:00
env.rs env::temp_dir: fix a typo 2022-09-28 21:51:09 +02:00
error.rs remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
f32.rs rustdoc: Add an example for round that is different from truncate 2022-11-06 23:05:16 +01:00
f64.rs rustdoc: Add an example for round that is different from truncate 2022-11-06 23:05:16 +01:00
fs.rs Do not alias for fs 2022-10-10 17:05:59 -07:00
keyword_docs.rs review feedback 2022-10-07 15:21:47 +02:00
lib.rs Test const Hash, fix nits 2022-11-08 17:39:40 +01:00
macros.rs stdio: Document no support for writing to non-blocking stdio/stderr 2022-09-07 14:22:57 +01:00
num.rs Add Saturating type (based on Wrapping type) 2021-08-10 19:27:01 +02:00
panic.rs Adding backtrace off option for fuchsia targets 2022-09-14 23:54:40 +00:00
panicking.rs Fix whitespace 2022-10-06 09:55:32 +02:00
path.rs Document Path::parent behavior around relative paths 2022-11-11 21:38:00 +01:00
personality.rs Move personality functions to std 2022-08-23 16:12:58 +08:00
primitive_docs.rs array docs - advertise how to get array from slice 2022-09-10 19:37:07 -07:00
process.rs Make diagnostic for unsatisfied Termination bounds more precise 2022-10-17 12:08:46 +02:00
rt.rs Change process spawning to inherit the parent's signal mask by default 2022-10-20 14:53:38 -07:00
time.rs Bump version placeholders to release 2022-11-06 17:11:02 -05:00