diff options
| author | Jake Goulding <jake.goulding@gmail.com> | 2019-06-04 08:15:47 -0400 |
|---|---|---|
| committer | Jake Goulding <jake.goulding@gmail.com> | 2019-08-05 10:26:53 -0400 |
| commit | 32324d22c33dda31eadf49c5f27d6e6ff38a3ef1 (patch) | |
| tree | 4ceca954cd7f02dfd8000317f3021fb8e4e3dd35 /src/liballoc/tests.rs | |
| parent | 4be067558962c004b638e4c6f162d50f7c0c98b6 (diff) | |
| download | rust-32324d22c33dda31eadf49c5f27d6e6ff38a3ef1.tar.gz rust-32324d22c33dda31eadf49c5f27d6e6ff38a3ef1.zip | |
Add implementations for converting boxed slices into boxed arrays
This mirrors the implementations of reference slices into arrays.
Diffstat (limited to 'src/liballoc/tests.rs')
| -rw-r--r-- | src/liballoc/tests.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/liballoc/tests.rs b/src/liballoc/tests.rs index 654eabd0703..ed46ba8a1b9 100644 --- a/src/liballoc/tests.rs +++ b/src/liballoc/tests.rs @@ -1,6 +1,7 @@ //! Test for `boxed` mod. use core::any::Any; +use core::convert::TryInto; use core::ops::Deref; use core::result::Result::{Err, Ok}; use core::clone::Clone; @@ -138,3 +139,15 @@ fn boxed_slice_from_iter() { assert_eq!(boxed.len(), 100); assert_eq!(boxed[7], 7); } + +#[test] +fn test_array_from_slice() { + let v = vec![1, 2, 3]; + let r: Box<[u32]> = v.into_boxed_slice(); + + let a: Result<Box<[u32; 3]>, _> = r.clone().try_into(); + assert!(a.is_ok()); + + let a: Result<Box<[u32; 2]>, _> = r.clone().try_into(); + assert!(a.is_err()); +} |
