rust/library/std/src
Manish Goregaokar 84d8159ebf
Rollup merge of #97594 - WaffleLapkin:array_tuple_conv, r=ChrisDenton
Implement tuple<->array convertions via `From`

This PR adds the following impls that convert between homogeneous tuples and arrays of the corresponding lengths:
```rust
impl<T> From<[T; 1]> for (T,) { ... }
impl<T> From<[T; 2]> for (T, T) { ... }
/* ... */
impl<T> From<[T; 12]> for (T, T, T, T, T, T, T, T, T, T, T, T) { ... }

impl<T> From<(T,)> for [T; 1] { ... }
impl<T> From<(T, T)> for [T; 2] { ... }
/* ... */
impl<T> From<(T, T, T, T, T, T, T, T, T, T, T, T)> for [T; 12] { ... }
```

IMO these are quite uncontroversial but note that they are, just like any other trait impls, insta-stable.
2023-05-03 16:42:47 -07:00
..
backtrace Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
collections rm const traits in libcore 2023-04-16 06:49:27 +00:00
env
error remove fn backtrace 2022-08-01 20:10:40 +00:00
f32 Remove some cfg(not(bootstrap)) 2022-12-11 01:20:18 -05:00
f64 Remove some cfg(not(bootstrap)) 2022-12-11 01:20:18 -05:00
ffi remove some unneeded imports 2023-04-12 19:27:18 +02:00
fs Correctly convert an NT path to a Win32 path 2023-05-03 10:24:56 +01:00
io replace version placeholders 2023-04-28 08:47:55 -07:00
net Inline AsInner implementations 2023-05-01 13:25:09 +02:00
num
os Inline AsRawFd implementations 2023-05-01 13:28:19 +02:00
panic
path make many std tests work in Miri 2022-08-18 18:07:39 -04:00
personality Define UNWIND_DATA_REG for loongarch64 2023-04-08 00:09:54 +08:00
prelude correct std::prelude comment 2023-04-27 15:56:57 +02:00
process Implement read_buf for a few more types 2023-03-06 12:24:15 +01:00
sync replace version placeholders 2023-04-28 08:47:55 -07:00
sys Use from_wide_to_user_path in read_link 2023-05-03 11:31:41 +01:00
sys_common Inline socket function implementations 2023-05-01 13:27:02 +02:00
thread Document const {} syntax for std::thread_local. 2023-04-27 20:24:18 +02:00
time Fix non-associativity of Instant math on aarch64-apple-darwin targets 2022-11-13 12:01:42 -08:00
alloc.rs Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
ascii.rs Remove use of #[rustc_deprecated] 2022-04-14 01:33:13 -04:00
backtrace.rs Replace libstd, libcore, liballoc in docs. 2022-12-30 14:00:40 +01:00
env.rs Rollup merge of #109894 - fleetingbytes:109893-var_os-never-returns-an-error, r=cuviper 2023-04-11 20:28:46 -07:00
error.rs remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
f32.rs Cover edge cases for {f32, f64}.hypot() docs 2023-04-13 22:41:55 +01:00
f64.rs Cover edge cases for {f32, f64}.hypot() docs 2023-04-13 22:41:55 +01:00
fs.rs Inline AsInner implementations 2023-05-01 13:25:09 +02:00
keyword_docs.rs Spelling library/ 2023-04-26 02:10:22 -04:00
lib.rs Revert "Report allocation errors as panics" 2023-04-25 00:08:37 +02:00
macros.rs Add tidy check for dbg 2022-12-31 15:32:09 +05:30
num.rs Add Saturating type (based on Wrapping type) 2021-08-10 19:27:01 +02:00
panic.rs review 2023-03-17 21:00:10 -07:00
panicking.rs Revert "Report allocation errors as panics" 2023-04-25 00:08:37 +02:00
path.rs Rollup merge of #109540 - marcospb19:edit-Path-with_file_name-example, r=m-ou-se 2023-05-01 17:10:22 +02:00
personality.rs Move personality functions to std 2022-08-23 16:12:58 +08:00
primitive_docs.rs Mention array<->tuple convs in docs 2023-05-03 20:34:47 +00:00
process.rs Inline AsInner implementations 2023-05-01 13:25:09 +02:00
rt.rs Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
time.rs update wasi_clock_time_api ref. 2023-04-29 19:04:16 +08:00