diff --git a/rust-version b/rust-version index 07d9d29554..853bf9bd52 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -ef1ecbefb8719e408150738664d443a73f757ffd +14890954ce17c44d944eda988c5a64bb4c5ec9eb diff --git a/tests/run-pass/arrays.rs b/tests/run-pass/arrays.rs index d374ccf253..b760d51539 100644 --- a/tests/run-pass/arrays.rs +++ b/tests/run-pass/arrays.rs @@ -1,3 +1,5 @@ +use std::convert::TryFrom; + fn empty_array() -> [u16; 0] { [] } @@ -33,6 +35,16 @@ fn slice_index() -> u8 { arr[5] } +fn try_from() { + const N: usize = 16; + type Array = [u8; N]; + let array: Array = [0; N]; + let slice: &[u8] = &array[..]; + + let result = <&Array>::try_from(slice); + assert_eq!(&array, result.unwrap()); +} + fn eq() { const N: usize = 16; type Array = [u8; N]; @@ -57,6 +69,7 @@ fn main() { assert_eq!(array_array(), [[5, 4], [3, 2], [1, 0]]); assert_eq!(array_repeat(), [42; 8]); assert_eq!(mini_array(), [42]); + try_from(); eq(); debug(); }