rust/library
Ralf Jung bac2f39350
Rollup merge of #76310 - scottmcm:array-try_from-vec, r=dtolnay
Add `[T; N]: TryFrom<Vec<T>>` (insta-stable)

This is very similar to the [existing](https://doc.rust-lang.org/nightly/std/convert/trait.TryFrom.html#impl-TryFrom%3CBox%3C%5BT%5D%3E%3E) `Box<[T; N]>: TryFrom<Box<[T]>>`, but allows avoiding the `shrink_to_fit` if you have a vector and not a boxed slice.

Like the slice equivalents of this, it fails if the length of the vector is not exactly `N`.
This uses `Vec<T>` as the `Error` type to return the input, like how the `Rc<[T]> -> Rc<[T; N]>` (and Arc) ones also reflect the input directly in the error type.

```rust
#[stable(feature = "array_try_from_vec", since = "1.47.0")]
impl<T, const N: usize> TryFrom<Vec<T>> for [T; N] {
    type Error = Vec<T>;
    fn try_from(mut vec: Vec<T>) -> Result<[T; N], Vec<T>>;
}
```

Inspired by this zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/APIs.20for.20getting.20stuff.20from.20a.20Vec.20by.20owned/near/209048103
2020-09-19 11:47:39 +02:00
..
alloc Rollup merge of #76310 - scottmcm:array-try_from-vec, r=dtolnay 2020-09-19 11:47:39 +02:00
backtrace@4083a90168
core inline inner function of inlining methods 2020-09-18 08:36:21 +00:00
panic_abort Rollup merge of #75990 - rylev:arm-fastfail, r=alexcrichton 2020-08-30 01:43:54 +02:00
panic_unwind Auto merge of #70212 - Amanieu:catch_foreign, r=Mark-Simulacrum 2020-08-28 01:20:17 +00:00
proc_macro Respect -Z proc-macro-backtrace flag for panics inside libproc_macro 2020-09-03 12:13:26 -04:00
profiler_builtins Fix warning whe building profiler_builtins crate 2020-09-04 15:10:29 +02:00
rtstartup
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #73963 - hellow554:unsafe_path, r=Mark-Simulacrum 2020-09-19 11:47:31 +02:00
stdarch@718175b34a Update stdarch 2020-09-15 17:26:20 +02:00
term
test Prefer https link for wikipedia URLs 2020-08-23 10:02:42 +00:00
unwind