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/sync | |
| 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/sync')
| -rw-r--r-- | src/liballoc/sync/tests.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/liballoc/sync/tests.rs b/src/liballoc/sync/tests.rs index 2e0c62f50c1..9220f5e0333 100644 --- a/src/liballoc/sync/tests.rs +++ b/src/liballoc/sync/tests.rs @@ -9,7 +9,7 @@ use std::option::Option::{self, None, Some}; use std::sync::atomic::{self, Ordering::{Acquire, SeqCst}}; use std::thread; use std::sync::Mutex; -use std::convert::From; +use std::convert::{From, TryInto}; use crate::vec::Vec; @@ -478,3 +478,15 @@ fn test_downcast() { assert!(r2str.is_ok()); assert_eq!(r2str.unwrap(), Arc::new("abc")); } + +#[test] +fn test_array_from_slice() { + let v = vec![1, 2, 3]; + let r: Arc<[u32]> = Arc::from(v); + + let a: Result<Arc<[u32; 3]>, _> = r.clone().try_into(); + assert!(a.is_ok()); + + let a: Result<Arc<[u32; 2]>, _> = r.clone().try_into(); + assert!(a.is_err()); +} |
